如何在window下編譯OpenSSL

2021-07-06 03:25:07 字數 1772 閱讀 7919

openssl是乙個開源的第三方庫,它實現了ssl(securesocketlayer)和tls(transport layer security)協議

1、首先安裝visual studio ,安裝自己需要的使用的開發工具

2、安裝activeperl 即perl執行環境

3、安裝nasm彙編編譯器  可以不安裝 使用vs自帶的最好省事

5、實際編譯步驟在原始碼的install.w32 和install.w64有寫

具體編譯步驟

win32版

1、開啟vs命令提示 非x64版的, 執行.\bin\vcvars32.bat

2、切換到openssl原始碼目錄

3、配置編譯檔案及安裝目錄

perl configure vc-win32 –prefix=f:\build\opensll32\

其中f:\build\opensll32\最終生成檔案所要儲存的目錄

4、搭建編譯環境

ms\do_nasm  這個是呼叫nasm彙編

或者ms\do_ms    這個是呼叫vs自帶彙編(推薦)

5、編譯openssl

nmake –f ms\ntdll.mak

6、安裝到3配置的目錄

nmake –f ms\ntdll.mak

7、在3配置的目錄裡面會有:

libeasy32.lib、libeasy32.dll、ssleasy32.lib、ssleasy32.dll

win64版本

1、開啟vs命令提示x64 win64版的 執行.\bin\amd64\vcvarsamd64.bat

2、切換到 openssl 原始碼目錄

3、配置編譯檔案及安裝目錄

perl configure vc-win64a –prefix=f:\build\opensll64\

其中f:\build\opensll64\最終生成檔案所要儲存的目錄

修改ms\do_win64a.bat檔案

perl util\mkdef.pl 32 libeay > ms\libeay32.def

perl util\mkdef.pl 32 ssleay > ms\ssleay32.def

修改為perl util\mkdef.pl 64 libeay > ms\libeay64.def

perl util\mkdef.pl 64 ssleay > ms\ssleay64.def

4、搭建編譯環境

ms\do_nasm      這個是呼叫nasm彙編

或者ms\do_win64a    這個是呼叫vs自帶彙編(推薦)

強迫症患者:

修改libeay64.def 第一行的libeay32 為 libeay64

ssleay64.def  第一行的ssleay32 為 ssleay64

修改ntdll.mak中

所有libeay32 和ssleay32 為libeay64 和ssleay64 不管大小寫,只將32改為64即可

5、編譯openssl

nmake –f ms\ntdll.mak

6、安裝到3配置的目錄

nmake –f ms\ntdll.mak

7、在3配置的目錄裡面會有:

libeasy64.lib、libeasy64.dll、ssleasy64.lib、ssleasy64.dll

8、如果沒有強迫症 沒有對檔案進行修改生成的依然是

libeasy32.lib、libeasy32.dll、ssleasy32.lib、ssleasy32.dll   此時為64位的庫

如何在Windows下編譯 cdrtools

cdrtools 編譯方法 配置環境 安裝 cygwin 安裝 smake 獲得 smake 解壓 smake tar jxvf smake 1.2a49.tar.bz2 編譯 smake make 將 smake.exe 拷貝到 c cygwin bin 下 編譯 cdrtools 獲得 cdrt...

如何在Windows下編譯自己的Kaldi程式

1.用vs2017生成乙個空專案 2.加入需要的kaldi專案 在windows下編譯kaldi專案的時候,會在kaldiwin vs2017 openblas kaldiwin目錄下生成很多專案,第一次使用kaldi的話,建議將字首為kaldi 的專案都加入到上面的空專案裡 帶test的不用加 v...

mingw 在LINUX下編譯WINDOWS程式

ubuntu下可以直接安裝 sudo apt get install mingw32 mingw32 binutils mingw32 runtime 安裝後編譯程式可以 i586 mingw32msvc g 編譯c 程式 i586 mingw32msvc gcc 編譯c程式 用法和gcc g 非常...