windows上Qt5.15+openssl1.1.1+msvs2022静态编译32位版本的笔记

本次编译采用的是vs2019社区版。

OPENSLL下载地址
参考这位大佬
大佬的有些问题,本篇已经修改

Openssl编译,qt5.15要求1.1.1的版本,这里下载的版本是1.1.1m的源码。

编译步骤:

(1)安装ActivePerl需要版本5.28.1, 下载地址百度,安装perl成功后,在命令行里输入perl -v,可看到版本提示即可。

(2)安装vs2019后(或其他版本的)在开始程序菜单中单击 X86 Native Tools Command Prompt for VS 2019,打开命令提示符

(3)解压openssl源码,然后cd到源码目录下执行: perl configure no-shared VC-WIN32 no-asm --prefix=”D:\openssl\1.1.1g”

其中D:\openssl\1.1.1g表示最终安装的目录。

(4)编译nmake

(5)编译后安装 nmake install

然后到 D:\openssl\1.1.1g 目录下找到编译后的lib库。这个目录应包括include, lib, bin三个子目录。

Qt5.15.2编译,含静态链接openssl

(1)安装ActivePerl,如已经安装则忽略此

(2)安装vs2019后(或其他版本的)在开始程序菜单中单击 X86 Native Tools Command Prompt for VS 2019,打开命令提示符

(3)解压qt5.15.2的源码,然后cd到源码目录下执行:(D:/qt5.15.2/msvc2019-win32-static为最终安装目录)
configure.bat -static -prefix “D:/qt5.15.2/msvc2019-win32-static” -confirm-license -opensource -debug-and-release -platform win32-msvc -nomake tools -nomake examples -nomake tests -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -mp OPENSSL_PREFIX=D:/openssl/1.1.1m OPENSSL_LIBS=”-llibcrypto -llibssl -lgdi32 -lWs2_32 -lwsock32 -ladvapi32 -luser32 -lcrypt32″ -openssl-linked -static-runtime -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwebview

静态链接openssl的重点是:-openssl-linked。其中OPENSSL_PREFIX=D:/openssl/1.1.1m指向我们前面编译好的openssl静态库主目录。

(4)编译,安装jom后多线程编译jom -j 4

jom下载:https://iso.mirrors.ustc.edu.cn/qtproject/official_releases/jom/jom_1_1_3.zip

(5)编译后安装jom install

漫长的等待,完成!

将qt5.15.2加入到QtCreator

(1)点击菜单 工具 => 选项: Kits => Qt Version,添加我们编辑的版本,选择qmake.exe即可。

(2)构建套件 中添加一个。 名称可以取Desktop Qt %{Qt:Version} MSVC2022 32Bit Static

编译器选择 Microsoft Visual C++ Compiler 17.0… .(x86) 注意选这个x86的,因为我们编译的是32位。

我编译程序提示少头文件,于是我在Environment里面加入了:

INCLUDE=${INCLUDE};C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\ucrt

LIB=${LIB};C:\Program Files (x86)\Windows Kits\10\Lib\10.0.19041.0\ucrt\x86

最后Qt版本选择我们刚加的,保存即可。

安装遇到一些问题,默认路径在c盘没有权限创建文件夹,根据帮助文档OPENSLL目录下的 INSTALL文档得知可以修改makefile (第一步配置完成后就会生成makefile)
OPENSSLDIR_dev=D: //原来是C盘,改为D盘
OPENSSLDIR_dir=\Program Files (x86)\Common Files\SSL

我是用在qt 中所以–prefix配置的自定义安装路径为D:\Qt\5.15.2\msvc2019,这样安装完成后就可以使用了,不用手动拷贝include lib dll

注:shared表示编译动态库,no-shared表示编译静态库;no-asm 在交叉编译过程中不使用汇编代码代码加速编译过程;–prefix 指定生成lib include bin目录的路径,不修改此项则默认为OPENSSLDIR目录
如果需要使用 asm,则需要安装dmake工具并且配置(我没有用过)

你可能感兴趣的:(qt,qt,windows,perl,openssl)