基于VS2015静态编译Qt with openssl

来自MediaWiki
Admin留言 | 贡献2023年3月22日 (三) 07:07的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转到导航 跳转到搜索

准备工作

1. openssl 源码,下载地址

2. qt源码,下载地址

5.6.3 下载地址

3. ActivePerl 5.26 下载地址

4. python2.7, 下载地址

5. ninja 下载地址

编译步骤

1. 安装python、perl

2. 编译openssl静态库

参考: https://github.com/openssl/openssl/blob/master/NOTES-WINDOWS.md#native-builds-using-visual-c++

perl Configure VC-WIN32 no-asm no-shared --prefix="E:/Qt/OpenSSL"
nmake
nmake install 

3. 编译qt

3.1 修改qt源码目录下,qtbase\mkspecs\common路径中的

msvc-desktop.conf文件(可以先备份源文件,然后再修改)。

修改前:

QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MD
QMAKE_CFLAGS_DEBUG      = -Zi -MDd

修改后(将 MD 修改为 MT,MDd 改为 MTd):

QMAKE_CFLAGS_RELEASE    = $$QMAKE_CFLAGS_OPTIMIZE -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += $$QMAKE_CFLAGS_OPTIMIZE -Zi -MT
QMAKE_CFLAGS_DEBUG      = -Zi -MTd
configure -confirm-license -opensource -debug-and-release -static -static-runtime -accessibility -mp -platform win32-msvc2015 -static -ssl OPENSSL_LIBS="-llibssl -llibcrypto -lUser32 -lAdvapi32 -lGdi32" -openssl-linked -I C:\Qt\openssl3.1.0\include -L C:\Qt\openssl3.1.0\lib -no-icu -no-sql-sqlite -nomake examples -nomake tests -prefix "C:\Qt\qt5.6.3_static"
nmake