在VS2010項目中引用Lib靜態庫(以Openssl為例)

作者: Leepy  來源: 博客園  發布時間: 2011-03-18 20:14  閱讀: 6948 次  推薦: 3   原文鏈接   [收藏]  
摘要:今天我們將介紹的是Visual Studio 2010項目中如何引用Lib靜態庫和Openssl包,希望對大家有所幫助。

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

  首先下載Openssl包:(http://www.openssl.org/),這是一個C語言類庫包,在Windows下可以通過Perl對該類庫包進行MakeBuild,產生libeay32、ssleay32的Lib以及Dll文件,具體操作詳見:http://blogger.org.cn/blog/more.asp?name=OpenSSL&id=18972,通過編譯產生這樣一系列文件:

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>

  方法展示:

// 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]);
    }
}

  調用:

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

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

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

3
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()