windows下使用openssl的一種方法


下載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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM