Qt6.2.4静态编译
使用MinGW进行静态编译Qt
Build Tools
CMake (可通过 Qt online installer 安装)
Ninja (可通过 Qt online installer 安装)
ActivePerl (使用 Chocolatey 安装)
Python (使用 Chocolatey 安装)
安装 Build Tools
使用 Chocolatey 和 Qt online installer 安装 Build Tools
安装 Chocolatey
PowerShell 下运行
1 | Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1')) |
安装 Perl & Python
1 | choco install python3 |
安装 CMake & MinGW & Ninja
在 Qt oneline installer 中勾选 MinGW、CMake、Ninja
检查环境
可执行二进制文件 cmake.exe, ninja.exe, perl.exe, 和 python.exe 必须添加到环境变量中且可用
修改以下路径且添加到 PATH 变量
- D:\software\Qt\Tools\CMake_64\bin
- D:\software\Qt\Tools\mingw1120_64\bin
- D:\software\Qt\Tools\Ninja
在清华大学镜像源下载源码
在本地路径新建文件夹D:\software\Qt\6.2.4\mingw_624_static,预留120G 空间。
编译指令为:
1 | #生成cmake配置文件 |
参考链接
Windows 下 MinGW Qt6.0.2 静态编译步骤_
cmake项目设置静态部署
1 | set(CMAKE_EXE_LINKER_FLAGS -static) |
使用MSVC进行编译Qt
配置环境参考上方内容,添加LLVM
在清华大学镜像源下载源码
修改源码里的qtbase\mkspecs\common\msvc-desktop.conf文件(非必须,建议不改)
修改-MD为-MT
1 | QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MD |
改为
1 | QMAKE_CFLAGS_RELEASE = $$QMAKE_CFLAGS_OPTIMIZE -MT |
在x64 Native Tools Command Prompt for VS 2022 里进入Qt源代码目录
编译命令
1 | #配置config文件 |
具体含义如下:
1 | configure.bat |
编译后添加到Qt Create与VisualStudio2022中只有64位Release版本,没有Debug版本
附录
移动编译好的qt位置时添加QtKit会失败,解决方法为在qmake.exe相同目录下创建qt.conf文件。
1 | [paths] |
参考资料
All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
