之前只在Linux環境下編譯OpenSSL進行開發使用,沒想領導要求在Windows下也開發一套。
爲此折騰了好久,踩下了無數的坑。
先在此標註一下,防止同類的事情在此發生。
1、下載OPENSSL,首先下載源碼 https://www.openssl.org/source/ 下載openssl-1.0.2o.tar.gz,記住這個纔是給Windows開發用的。
2、下載PERL,安裝http://www.activestate.com/activeperl 下載安裝 Activestate Perl
3、配置path環境變量: C:\Perl64\site\bin;C:\Perl64\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE,注“perl下載的是64,安裝後會自動配置,VC爲2008”.
4、關鍵的編譯來了:
a、運行cmd 進入C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin,運行vcvars32.必須!!!我之前用的64位編譯的,然後在VS2008調用失敗,後面重新編譯32位的就可以用了。
b、進入openssl-1.0.2o目錄,依次執行以下命令 (注:no-asm必須要)
perl Configure VC-WIN32 no-asm --prefix=C:\openssl32
ms\do_ms
nmake -f ms\nt.mak
nmake -f ms\nt.mak install
nmake -f ms\ntdll.mak
nmake -f ms\ntdll.mak install