参考资料
- https://doc.qt.io/qt-5/windows-building.html
- https://doc-snapshots.qt.io/qt5-5.15/windows-building.html
- https://doc.qt.io/qt-5/supported-platforms.html
- https://doc.qt.io/qt-5/windows.html
- https://doc.qt.io/qt-5/windows-requirements.html
- https://doc.qt.io/qt-5/configure-options.html
- https://wiki.qt.io/Building_Qt_5_from_Git
- https://wiki.qt.io/MinGW-64-bit
- https://blog.csdn.net/zxjohnson/article/details/106621457 (Qt 5.15.0编译指南)
- https://blog.csdn.net/MrTsai_cpp/article/details/115175669 (Qt 5.15的源码编译(Windows))
- https://www.cnblogs.com/arxive/p/14412614.html (QT 5.15 及以后QT版本源码编译(静态库、动态库))
- https://www.kucoding.com/article/149 (Qt6.5.3静态编译与使用-酷编程)
- https://blog.csdn.net/weixin_50964512/article/details/124746458 (Qt 静态编译与使用(6.2 详解版))
- https://blog.csdn.net/Comewood/article/details/125697120 (Windows10 Qt 遇到EGL/egl.h: No such file or directory 解决方法)
下载源码包
安装build工具并配置相关环境变量
- D:\Qt\Tools\mingw810_64\bin
- These tools are not needed to run Qt 5 applications, but they are required for building Qt 5 from source.
- Perl - Install a recent version of perl (for instance (https://strawberryperl.com/) and add the installation location to your PATH.
- Python - Install Python from the here and add the installation location to your PATH.
验证build工具是否正确安装
- 打开cmd(不要关闭)
- 输入
1 2 3 4 5
set PATH=D:\Qt\Tools\mingw810_64\bin;%PATH% gcc -v g++ -v perl -V python -V
设定文件夹
- F:\Qt\5.15.11\src 源码目录qt-everywhere-opensource-src-5.15.11.zip解压,并改名为src,放置于F:\Qt\5.5.11\src
- F:\Qt\5.15.11\build-mingw810_64 build目录
- F:\Qt\5.15.11-static\mingw810_64 最后安装目录
编译
-
建立F:\Qt\qt5mingw810_64.cmd文件,需设置好Qt源代码路径、mingw810_64路径(D:\Qt\Tools\mingw810_64\bin)
-
建立cmd链接cmd-qt5mingw810_64,并运行
- 比较后,本步骤主要用途为
- 开启cmd.exe /E:ON /V:ON
- 替代下文手动将Qt源码相关路径加入PATH
- /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
- /V:ON 启用延迟的环境变量扩展
- 比较后,本步骤主要用途为
-
输入
1 2
F: cd Qt\5.15.11\build-mingw810_64
依上述定位到F:\Qt\5.15.11\build-mingw810_64 依次执行命令
1 2 3
..\src\configure.bat -static -prefix "F:\Qt\5.15.11-static\mingw810_64" -debug-and-release -nomake examples -nomake tests -skip qtwebengine -opensource -opengl desktop -platform win32-g++ mingw32-make -j16 #开启十六线程编译,根据自己电脑实际核心数调整 mingw32-make install
编译(此段内容为历史记录,作废)
-
在cmd中(上述不要关闭,否则要重新set PATH=D:\Qt\Tools\mingw810_64\bin;%PATH%)
-
本步骤在2023-11-23编译时未使用,查看官网文档可将上一步替换优化如下
- 建立F:\Qt\qt5mingw810_64.cmd文件,需设置好Qt源代码路径、mingw810_64路径
- 建立cmd链接cmd-qt5mingw810_64,并运行
- 比较后,本步骤主要用途为
- 开启cmd.exe /E:ON /V:ON
- 替代下文手动将Qt源码相关路径加入PATH
- /E:ON 启用命令扩展 详见[cmd.exe启动参数说明]
- /V:ON 启用延迟的环境变量扩展
-
输入
1 2
F: cd Qt\5.15.11\build-mingw810_64
依上述定位到F:\Qt\5.15.11\build-mingw810_64 依次执行命令
1 2 3 4
#当使用上述qt5vars.cmd文件时,可省略此三行命令,因为已经在qt5vars.cmd文件中执行 SET _ROOT=F:\Qt\5.15.11\src SET PATH=%_ROOT%\qtbase\bin;%_ROOT%\gnuwin32\bin;%PATH% SET _ROOT=
1 2 3 4
..\src\configure.bat -static -prefix "F:\Qt\5.15.11-static\mingw810_64" -debug-and-release -nomake examples -nomake tests -skip qtwebengine -opensource -opengl desktop -platform win32-g++ mingw32-make #2023-11-23实测很慢,可改为 #mingw32-make -j16 #开启十六线程编译,根据自己电脑实际核心数调整 mingw32-make install
说明1
-
-static就是静态编译的意思,
-
-debug-and-release,则表示将调试版、发行版都进行编译。
-
-prefix 指定安装将会部署的位置,根据自己情况修改
-
-nomake examples 不需要编译示例
-
-nomake tests 不需要编译测试工程
-
-skip qtwebengine 暂时先不编译webengine模块,因为太大了
-
-opensource 开源版本
-
-confirm-license 是为了自动确认开源证书,免得到时暂停手动确认
-
-qt-zlib -ssl -icu 指示检测这些库,并在需要时使用
-
-opengl desktop 明确指示使用你windows上安装的opengl驱动来编译程序,但这样编译出的程序在别的电脑上运行时需要目标电脑上安装的opengl驱动能兼容你的程序
-
-platform win32-g++ 指明编译平台是windows,并使用mingw编译器
- For Windows machines, either MinGW or Visual Studio toolchains can be used to compile Qt.
1 2
configure.bat -platform win32-g++ configure.bat -platform win32-msvc
- For Windows machines, either MinGW or Visual Studio toolchains can be used to compile Qt.
-
-opengl desktop 切换到desktop版本的opengl,解决错误提示error:EGL/egl.h: No such file or directory
说明2
- 等待配置完成后(其间要输入y同意协议),再运行命令
mingw32-makemingw32-make -j16开始构建: - 然后就是慢慢等编译了,这个过程比较漫长,如果电脑配置较低,估计需要几个小时:
- 编译完成后,继续运行命令mingw32-make install即可将编译好的静态库安装到前面我们所指定的目录中去:
- 此时你就可以删除前面的build文件夹,释放110多G的空间,它已经没用了。
2023-11-23编译(已删除)
-
环境:YPR-Desktop、Windows 11 pro 23H2、D:\Qt\Tools\mingw810_64\bin、需数小时更多、7.65GB -
build文件约16.9GB,已删除 -
未编译doc
2023-11-24编译
- 环境:YPR-Desktop、Windows 11 pro 23H2、D:\Qt\Tools\mingw810_64\bin、约44分钟、7.65GB
- 采用了qt5mingw810_64.cmd、采用了mingw32-make -j16
- build文件约16.9GB,已删除
- 未编译doc
- 存档:7z(9-极限压缩)
2023-11-28编译(仅-release YPR-Desktop)
- 环境:YPR-Desktop、Windows 11 pro 23H2、D:\Qt\Tools\mingw810_64\bin、约15分钟、932MB
- 采用了qt5mingw810_64.cmd、采用了mingw32-make -j16
- build文件约2.52GB,已删除
- 未编译doc
- 存档:7z(9-极限压缩)
2023-11-28编译(仅-release YPR-Server)
- 环境:YPR-Server、Windows 10 pro 22H2、D:\Qt\Tools\mingw810_64\bin、约1.5小时、932MB
- 采用了qt5mingw810_64.cmd、采用了mingw32-make -j24
- build文件约2.52GB,已删除
- 未编译doc
- 存档:7z(9-极限压缩)
备注
- qt-everywhere-opensource-src-5.15.11.zip用D:\Qt\Tools\mingw1120_64\bin编译,实测报错