1. 程式人生 > >在VS2010 VC++專案中引用Lib靜態庫(以Openssl為例)

在VS2010 VC++專案中引用Lib靜態庫(以Openssl為例)

轉載記錄:

2017-12-4 使用vs2005新增該文章所附的檔案,建立工程測試可用。

感謝原作者。

Openssl是個為網路通訊提供安全及資料完整性的一種安全協議,囊括了主要的密碼演算法、常用的金鑰和證書封裝管理功能以及SSL協議,並提供了豐富的應用程式供測試或其它目的使用。

image

  inc32裡面放置C語言標頭檔案。

  1. 現在我要在VS2010的工程專案中使用到它,首先我要建立一個VC++.NET的專案,我這裡建立了一個MFC應用程式:

image

  在專案名稱中點選“右鍵”,選擇“屬性”,從裡面找到“VC++目錄”:

image

  找到兩個目錄選項:

image

  其中包含目錄指向你的Openssl的標頭檔案的目錄,庫目錄指向你的Lib、Dll所在的目錄。

image

image

  從這裡新建目錄來指向引導的目錄:

  然後切換到“連結器”-> “輸入”:

image

  在“附加依賴項”中,加入兩個Lib檔案:

image

  這樣就完成了靜態庫的引用。

  2. 現在看下專案中怎麼引用它(以SHA256演算法為例):

  #include <openssl/sha.h>

  方法展示:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 // SHA256演算法字串加密 void sha256(char* string, char outputBuffer[64]) { unsigned
char hash[SHA256_DIGEST_LENGTH]; SHA256_CTX sha256; SHA256_Init(&sha256); SHA256_Update(&sha256, string, strlen(string)); SHA256_Final(hash, &sha256); int i = 0; for(i = 0; i < SHA256_DIGEST_LENGTH; i++) { sprintf(outputBuffer + (i * 2), "%02x", hash[i]); } }

  呼叫:

1 2 static unsigned char buffer[64]; sha256(signature, (char*)buffer);

  由於Openssl包需要利用Perl進行編譯形成Lib以及Dll檔案,這裡我附上已經制作好的檔案,方便大家使用!

  Openssl最新版openssl-1.0.0d的Windows執行包下載:openssl_out32dll.rar