靜態編譯OpenSSL並整合到Qt

2021-08-10 04:45:36 字數 1761 閱讀 5654

msvc版本:

1.2 解壓到c:\openssl-1.0.2l

2. 編譯openssl原始碼

2.1 開啟vs的命令工具:

32位:

64位:

2.2 使用cd命令定位到原始碼資料夾:

cd c:\openssl-1.0.2l
2.3 配置makefile:

32位:

perl configure vc-win32 no-asm --prefix=c:/qtstaticlibs/openssl
64位:

perl configure vc-win64a no-asm --prefix=c:/qtstaticlibs/openssl64
2.4 輸入命令

32位:

ms\do_ms
64位:

ms\do_win64a
2.5 輸入編譯命令

nmake -f ms\nt.mak
2.6 輸入測試命令,顯示passed all tests就是測試通過

nmake -f ms\nt.mak test
2.7 輸入安裝命令

nmake -f ms\nt.mak install
最後的c:\qtopenssl 或 c:\qtopenssl64即編譯好的ssl庫

3. 整合到qt的靜態編譯版本中

在qt的configure命令中加入如下引數:

-openssl-linked openssl_prefix=c:\qtopenssl openssl_libs="-lssleay32 -llibeay32 -lgdi32"
注意:vs2017下,openssl_lib="-llibeay32 -lssleay32 -lgdi32 -luser32 -lwsock32 -ladvapi32"

mingw版本:

c:/qt/qt5.12.3/tools/mingw730_32 /mingw
其中 c:/qt/qt5.12.3/tools/mingw730_32 是mingw所在目錄。

開啟msys,輸入gcc -v,顯示gcc版本則說明mingw環境已經配置好了。

2.在msys中進入openssl目錄輸入如下指令:

32位:

perl configure mingw no-shared no-asm --prefix=c:/qtstaticlibs/openssl
64位:

perl configure mingw64 no-shared no-asm --prefix=c:/qtstaticlibs/openssl64
configure完成後依次輸入:

make depend

make

make install

編譯並匯入OpenSSL

編譯並匯入openssl 1.首先,需要執行指令碼生成openssl庫,參考 示例 2.執行指令碼生成靜態庫 下一步我們會用到這兩個資料夾中的內容 3.新建乙個資料夾叫openssl,然後將 openssl for iphone 專案中的 fsopenssl.h m 檔案拖到資料夾中,將生成的 in...

編譯並匯入OpenSSL

編譯並匯入openssl 1.首先,需要執行指令碼生成openssl庫,參考 示例 2.執行指令碼生成靜態庫 下一步我們會用到這兩個資料夾中的內容 3.新建乙個資料夾叫openssl,然後將 openssl for iphone 專案中的 fsopenssl.h m 檔案拖到資料夾中,將生成的 in...

Linux靜態編譯OpenSSL與libcurl

某個工程中需要使用libcurl訪問https 為了可移植性,需要將libcurl編譯成靜態的。由於訪問的是https開頭的 所以還需加入對openssl的編譯,同樣使用編譯。git clone git checkout b openssl 1 0 0 stable origin openssl 1...