windows下編譯openssl

準備工作:

    安裝perl,下載地址,百度;

    安裝vs2010;

    下載openssl源碼,我使用的版本: openssl-1.0.1c


開始編譯:

    啓動 vs command prompt,省去設置環境變量的麻煩;

    1、cd openssl=1.0.1c, 執行 “perl Configure VC-WIN32”,配置編譯環境;

    2、執行“ms\do_ms.bat”, 生成配置文件;

    3、執行“nmake -f ms\ntdll.mak ”,執行編譯、鏈接;

編譯結果在out32dll目錄下,這樣執行的是動態鏈接;


執行:nmake -f ms/nt.mak
該命令生成靜態庫,默認使用的是MT,生成的靜態庫輸出到out32目錄下。

修改運行庫的鏈接方式,修改ntdll.mak裏面的“CFLAG= /MD /Ox ..............” 爲/MT,然後重新編譯,執行

其它命令:
nmake -f ms/ntdll.mak clean // 清除編譯的中間文件
nmake -f ms/ntdll.mak install // 安裝,主要是linux下面會自動放到程序目錄中


編譯過程中出現的問題:

     由於使用的系統是win7-x64,在選擇vs command prompt時首先選中的是x64 win64 command prompt,結果編譯最後提示:
NMAKE : fatal error U1077: '"D:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\amd64\link.EXE"' : return code '0x458'

因爲第一步配置時設置的是win32,這裏用x64的環境去編譯,link不出問題才奇怪了。


64位庫編譯過程如下:

    啓動:x64 win64 command prompt;

    > perl Configure VC-WIN64

    > ms/do_ms.bat

    > nmake -f ms/nt.mak 或ntdll.mak



   

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章