qt 5.15 ,官方不再对开源版本提供编译好的安装文件了,需要自己编译QT,既然需要自己编译,那就索性搞个静态编译的版本,这里先记录一下如何编译配置openssl进行静态编译连接。
1.openssl版本
qt 5.15 对openssl 1.1.x版本不支持,需要下载openssl 3.0使用,下载地址:
https://github.com/openssl/openssl/releases
2.下载编译openssl要用到的工具
windows平台x86机器要编译openssl,需要用到perl和nasm,perl的话正好编译qt也需要用,就用QT官方推荐的版本吧 ,在这里:
https://www.activestate.com/products/perl/
nasm的话在这里:
perl安装完以后会自动加到path路径里面,nasm需要自己加一下,配置完以后开个命令行窗口,试一下perl -v和nasm 这两个命令,要是不报错就没问题了。
3.编译openssl
64位的话是VC-WIN64A,32位的话是VC-WIN32,这里使用64位方式编译
//release static
perl configure VC-WIN64A no-shared --release --prefix=d:\openssl\lib\x64\release -openssldir=d:\openssl\ssl
nmake
nmake install_sw
nmake clean
perl configure VC-WIN64A no-shared --debug --prefix=d:\openssl\lib\x64\debug -openssldir=d:\openssl\ssl
nmake
nmake install_sw
nmake clean
nmake大概需要1个小时左右,nmake install_sw会把openssl安装到d:\openssl里面去并建立好正确的目录结构。
4.qt编译配置
写个myconfig.bat,放在qt源码目录内,内容如下:
set OPENSSL_DIR=d:\OpenSSL
configure.bat -static -prefix "H:\software\qt\qt5_15_msvc_static" -confirm-license -opensource -debug-and-release -platform win32-msvc -openssl-linked OPENSSL_INCDIR="%OPENSSL_DIR%\include" OPENSSL_LIBDIR="%OPENSSL_DIR%\lib" OPENSSL_LIBS="-lWs2_32 -lGdi32 -lAdvapi32 -lCrypt32 -lUser32" OPENSSL_LIBS_DEBUG="-llibssl -llibcrypto" OPENSSL_LIBS_RELEASE="-llibssl -llibcrypto" -nomake examples -nomake tests -plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -mp
然后打开vs 2019的64位命令行环境,执行myconfig.bat,正常的话有这么一行:

最后,补充一下,懒得自己编译的可以去下载别人编译好的,地址:https://sourceforge.net/p/fsu0413-qtbuilds/activity/?page=0&limit=100
Windows下QT5.15静态编译链接OpenSSL教程
本文介绍了在Windows平台上,针对QT 5.15源码,如何静态编译并链接OpenSSL。首先,由于QT 5.15不支持openssl 1.1.x,需下载openssl 3.0。接着,下载并配置perl和nasm工具。编译openssl使用nmake,完成后将安装到指定目录。然后,在QT源码目录创建myconfig.bat文件,并在VS2019 64位命令行环境下执行,完成QT的配置。最后,提供了不自行编译的替代方案,即下载他人编译好的QT版本。
1662

被折叠的 条评论
为什么被折叠?



