下載openssl之后,全部解壓到一個路徑下,如:c:\program files\openssl sdk
舉個例子,如使用SHA1,開發時引用頭文件:
#include <sha.h>
工程屬性里添加需要的頭文件路徑:
C:\Program Files\openssl-0.9.8i\include
C:\Program Files\openssl-0.9.8i\crypto
C:\Program Files\openssl-0.9.8i\crypto\sha
編譯通過,沒問題,但鏈接時將會提示找不到SHA1的函數符號,原因是缺少SHA1()函數的源代碼或LIB庫。
第一種方法是按照openssl提供的win32平台下的安裝方法,詳見“INSTALL.W32”文件。(個人覺得比較麻煩)
本文主要講第二種方法:
1.Visual Studio中新建空的LIB工程
2.將需要的文件,如“C:\Program Files\openssl-0.9.8i\crypto\sha”下的所有文件,全部添加到工程中
3.編譯鏈接生成.lib文件即可。若在VS6.0下開發,LIB庫也需要在VS6.0下生成;若使用VS2005,同理
然后在開發中使用剛生成的LIB庫:
#pragma comment(lib, "sha.lib")
使用OPENSSL時,若鏈接時報以下錯誤時:
error LNK2019: unresolved external symbol _OPENSSL_cleanse referenced in function _SHA1
是因為沒有OPENSSL_cleanse的源碼,解決辦法是將“C:\Program Files\openssl-0.9.8i\crypto”下的“mem_clr.c”添加到上面生成LIB的工程中,重新生成LIB,用此LIB庫就能解決問題。
http://www.cnblogs.com/cxun/archive/2009/07/28/1533155.html