1. 下載最新版本的Perl,安裝後重啓系統。 windows
http://downloads.activestate.com/ActivePerl/Windows/5.8/ActivePerl-5.8.8.822-MSWin32-x86-280952.zip 測試
2.下載 latest openssl並解壓到C:\openssl-0.9.8k。 spa
http://www.openssl.org/source/ 命令行
參考openssl目錄下的install.win32說明進行安裝: debug
1、進入解壓目錄。 code
>cd C:\openssl-0.9.8k orm
2、運行Configure。 ip
>perl Configure VC-WIN32 ssl
如不成功會有明顯提示。 get
3、建立Makefile文件。
>ms\do_ms
推薦使用這種方式,另外兩種方式 若是使用也必須保證本機有編譯器才能使用。
:ms\do_masm (默認vc 自帶的編譯器;也也以本身下載安裝)
:ms\do_nasm (須要本身下載)
4、配置VC環境變量。
>cd C:\Program Files\Microsoft Visual Studio\VC98\Bin
>vcvars32.bat
5、編譯動態連接庫。
>cd C:\openssl-0.9.8k
>nmake -f ms\ntdll.mak
可能會缺乏「ml.exe」,可下載masm並把其中的ml.exe拷貝至C:\Program Files\Microsoft Visual Studio\VC98\Bin下便可。
運行 nmake -f ms\ntdll.mak test.檢查上一部編譯是否成功。正常的話會執行編譯後的測試程序
至此OpenSSL在windows下編譯完成,編譯獲得的dll和lib文件位置:靜態庫libeay32.lib和ssleay32.lib位於out32文件夾下,動態庫libeay32.dll,libeay32.lib,ssleay32.dll,ssleay32.lib位於out32dll文件夾下。
6、爲VC添加頭文件和靜態連接庫路徑。
ToolsàOptionsàDirectores,在Include files中增長C:\openssl-0.9.8k \inc32目錄;在Libray files中增長C:\openssl-0.9.8k\out32dll。
7、編寫OpenSSL程序,可參考C:\openssl-0.9.8k\demos
(1)包含相應頭文件
#include <openssl/***.h>
(2) 添加靜態連接庫
#pragma comment(lib, "libeay32.lib")
#pragma comment(lib, "ssleay32.lib")
或ProjectàSettingsàLinkàObject\library modules填寫libeay32.lib ssleay32.lib。
(3)將動態連接庫ssleay32.dll, libeay32.dll複製到C:\WINDOWS\system32或Debug目錄下,確保動態連接庫在正確的路徑。
可能遇到的問題:
一、NMAKE : fatal error U1077: 'ml' : return code '0x1'
解決辦法:在環境變量PATH中添加路徑C:\masm32\bin,並按照參考資料3修改ml.exe文件。
二、NMAKE : fatal error U1077: 'cl' : return code '0x2'
解決辦法:去掉ipv6(命令行中執行perl Configure VC-WIN32 -DOPENSSL_USE_IPV6=0)
三、fatal error LNK1103: debugging information corrupt; recompile module
解決辦法:去掉ms文件夾下對應文件nt.mak或ntdll.mak文件中/debug選項