在VS2010 VC++專案中引用Lib靜態庫(以Openssl為例)
阿新 • • 發佈:2019-02-14
轉載記錄:
2017-12-4 使用vs2005新增該文章所附的檔案,建立工程測試可用。
感謝原作者。
Openssl是個為網路通訊提供安全及資料完整性的一種安全協議,囊括了主要的密碼演算法、常用的金鑰和證書封裝管理功能以及SSL協議,並提供了豐富的應用程式供測試或其它目的使用。
inc32裡面放置C語言標頭檔案。
1. 現在我要在VS2010的工程專案中使用到它,首先我要建立一個VC++.NET的專案,我這裡建立了一個MFC應用程式:
在專案名稱中點選“右鍵”,選擇“屬性”,從裡面找到“VC++目錄”:
找到兩個目錄選項:
其中包含目錄指向你的Openssl的標頭檔案的目錄,庫目錄指向你的Lib、Dll所在的目錄。
從這裡新建目錄來指向引導的目錄:
然後切換到“連結器”-> “輸入”:
在“附加依賴項”中,加入兩個Lib檔案:
這樣就完成了靜態庫的引用。
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