靜態編譯OpenSSL並整合到Qt


靜態編譯OpenSSL並整合到Qt

來源 https://blog.csdn.net/lixiaoxin1989/article/details/78421573

 

MSVC版本:

1. 下載OpenSSL源碼

    1.1 下載OpenSSL的源碼:https://www.openssl.org/source/

     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"

 

1.安裝ActivePerl,並添加到環境變量
2.解壓openssl源碼到指定目錄
3.進入VS2017自帶的命令行界面,注意區分版本
本文進入的是x64 Native Tools Command Prompt for VS2017
4.進入openssl解壓目錄,E:\mylib\openssl-1.0.2l
運行:perl Configure VC-WIN64A no-asm –prefix=E:\mylib\openssl
進行相關的配置
注意:prefix指定安裝目錄,VC-WIN64A安裝平台
5.編譯動態庫和靜態庫
運行 nmake -f ms\ntdll.mak進行編譯動態庫
運行 nmake -f ms\nt.mak進行編譯靜態庫
6.測試編譯庫
測試動態庫:cd out32dll>..\ms\test
測試靜態庫:cd out32l>..\ms\test
運行結果為:passed all tests 即編譯成功
注: 清除上次動態庫編譯,以便重新編譯:nmake -f ms\ntdll.makclean;
清除上次靜態庫編譯,以便重新編譯:nmake -f ms\nt.makclean
7.安裝庫
運行 nmake -f ms\ntdll.mak install 進行安裝動態庫
在E:\mylib\openssl文件目錄下生成bin/include/lib/ssl四個文件目錄。
運行 nmake -f ms\nt.mak install 進行安裝靜態庫

 

MinGW版本:

1.在MinGW官網上下載MSYS( MSYS ),安裝后將安裝目錄中的 /etc/fstab 文件內容改為:

   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
 

=================== End

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM