静态编译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

 

posted @   lsgxeva  阅读(2743)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
历史上的今天:
2019-04-04 情绪管理
点击右上角即可分享
微信分享提示