轉自:http://blog.csdn.net/alger_magic/article/details/52584171
目標:編譯vs環境下openssl庫
工具:
1. 編譯環境win10+vs2015專業版
2. ActivePerl工具,官網下載鏈接:http://www.activestate.com/activeperl/downloads
3. openssl源碼,下載鏈接:https://www.openssl.org/source/,
選擇2016-May-03 13:57:13 openssl-1.0.1t.tar.gz這個版本(https://www.openssl.org/source/old/1.0.1/openssl-1.0.1t.tar.gz)
,之所以沒有選擇1.1.0,發覺兩個版本差異較大,ms文件夾下缺少很多文件,沒辦法按照此方法編譯。
步驟:
1. 安裝ActivePerl, 並添加環境變量(可以默認勾選,或者手動添加,如path=d:\perl\bin)。
2. 解壓openssl。
3. 點擊 windows 開始->所有應用->vs2015->開發者命令提示(Developer Command Prompt for 2015)。
4. CD到解壓后的openssl的根目錄。
5. 執行命令:perl Configure VC-WIN32(或者VC-WIN64A,取決於編譯庫類型,可以用–prefix=路徑指定生成路徑).
6. ms\do_ms.bat(創建makefile文件,64位需要使用ms\do_win64aA.bat)
7. 執行nmake - f ms\ntdll.mak(編譯動態庫)。
8. 執行nmake - f ms\ntdll.mak test查看庫是否有問題。
9. 執行nmake - f ms\ntdll.mak install 。
TIPs:
編譯動態庫:
nmake -f ms\ntdll.mak
編譯靜態庫:
nmake -f ms\nt.mak
測試動態庫:
nmake -f ms\ntdll.mak test
測試靜態庫:
nmake -f ms\nt.mak test
安裝動態庫:
nmake -f ms\ntdll.mak install
安裝靜態庫:
nmake -f ms\nt.mak install
清除上次動態庫的編譯,以便重新編譯:
nmake -f ms\ntdll.mak clean
清除上次靜態庫的編譯,以便重新編譯:
nmake -f ms\nt.mak clean