我的QT的安装目录如下,注意安装的时候要勾选source就是安装源代码的。
我需要编译到的位置信息为:F:\Qt5152\mingw(手动创建空文件夹build和mingw后面要用)
准备工作:
我看很多教程有安装其他的东西,为了减少错误,我先全部都安装了
A:【ActivePerl】
ActivePerl下载地址:https://www.activestate.com/products/perl/downloads/
默认安装时会添加ActivePerl到环境变量。
测试添加是否成功:
B:[【Python】
下载Python(下载地址自行百度哈,我的是win10应用商店下载的...),添加Python到环境变量。
测试添加是否成功:
C:【Ruby】
Ruby下载地址:https://rubyinstaller.org/downloads/
安装时勾选添加到环境变量的选项:
先进行配置项目的修改,我的文件在C:\Qt\5.15.2\Src\qtbase\mkspecs\common\msvc-desktop.conf
按照上图修改完成后保存。
1.我在F盘的Qt5152下面建了一个文件build_env.bat
内容如下:
set PATH=C:\Qt\Tools\mingw810_32\bin;C:\Qt\Tools\mingw810_32\opt\bin;C:\Qt\5.15.2\Src\gnuwin32\bin;C:\WINDOWS\System32;C:\Windows\System32\WindowsPowerShell\v1.0;C:\Windows\System32\wbem;C:\WINDOWS
set LANG=en
set QT_INSTALL_PREFIX= F:\Qt5152\mingw
cmd /k
以上就是这个文件的内容了,注意看各自的路径,需要和你们自己的路径相互对应进行改写。
2.双击这个文件,然后执行比如我的,我在F:\Qt5152下面创建了一个build文件夹,执行cd F:\Qt5152\build以便转到这个build文件夹。
3.输入如下指令执行编译
C:\Qt\5.15.2\Src\configure.bat -confirm-license -opensource -platform win32-g++ -debug-and-release -static -static-runtime -force-debug-info -opengl dynamic -prefix "F:\Qt5152\mingw" -qt-pcre -qt-zlib -qt-libpng -qt-libjpeg -opengl desktop -qt-freetype -nomake tests -no-compile-examples -nomake examples -mp
也要注意路径的地方要改写。关于这个指令的说明可以自行去搜索,或者:
configure.bat
-static //指明是静态编译
-prefix "D:\qt" //指明安装的目录
-confirm-license -opensource //指明是开源版本的qt
-debug-and-release //指明需要debug版和release版,可以单独选择release版
-platform win32-msvc //指明使用msvc编译
-nomake examples -nomake tests //不编译样例
-plugin-sql-sqlite -plugin-sql-odbc -qt-zlib -qt-libpng -qt-libjpeg //可选插件
-opengl desktop
-mp //多核编译
执行完成后,他会跑一大堆数据
4.然后输入mingw32-make 执行。这个过程我的是跑了10各小时,这个执行就是在构建代码,我的build文件夹构建后大小为46GB
5.上一个步骤执行完成后,再输入mingw32-make install
执行安装完成后,我的F:\Qt5152\mingw有5个GB大小。
到此静态编译就算完成了,下一步是怎么使用:
1.添加QtVersion
2.创建Kits
注意4的位置就是上面第1步创建的QtVersion的名称。至于3嘛你参考下你本地的MinGW的配置勾选,比如我的,我是参考了Desktop Qt 5.15.2 MinGW 32-bit的配置。
3.项目构建的时候选择这个构建选项了,debug或者release,这里这2个模式生成的文件大小是很有区别的。
【参考资料】