整个编译过程,请参考上一篇QT5.15.2静态编译MSVC2019
本文只是在此基础上增加openssl和mysql的静态编译。
openssl参考的这位大佬
开始下载:
一、编译opensll
//静态编译需要修改
Src\qtbase\mkspecs\common下的
msvc-desktop.conf
MD改成MT
QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
QMAKE_CFLAGS_DEBUG = -Zi -MTd
运行VC2019中的x64 Native Tools Command Prompt for VS 2019或x86 Native Tools Command Prompt for VS 2019,编译什么版本用什么。
然后cd到源码目录下执行: perl configure no-shared VC-WIN32 no-asm --prefix="C:\openssl"
其中C:\openssl表示编译后的那些头文件和动态连接库等文件的目录,也就是静态编译QT要用到的文件。
然后nmake & nmake install即可,稍等片刻在C:\opensll文件夹中会出生成以下目录和文件。
二、安装mysql
安装到C:\Mysql,安装目录不要空格
将lib\vs14中的mysqlclient.lib拷贝至lib目录中,后面要用。
一切就绪开始编译包含opensll和mysql的静态Qt5.15.2。
命令如下:
F:\Qt\src\configure -static -prefix C:\Qt\5.15.2\msvc2019_64_static -confirm-license -opensource -release -static-runtime -nomake examples -nomake tests -qt-zlib -qt-libjpeg -qt-libpng -qt-freetype -qt-pcre -qt-harfbuzz -sql-sqlite -sql-odbc -opengl desktop -sql-mysql MYSQL_INCDIR=C:\MySQL\include\ MYSQL_LIBDIR=C:\MySQL\lib\ MYSQL_LIBS="libmysql.lib mysqlclient.lib" OPENSSL_PREFIX=C:\openssl OPENSSL_LIBS="-llibcrypto -llibssl -lgdi32 -lWs2_32 -lwsock32 -ladvapi32 -luser32 -lcrypt32" -openssl-linked -skip qtwebengine -mp
编译过程中odbc报错,把odbc去掉就好,-no-sql-odbc
结果如下: