Qt5.9源码静态编译教程:VS2017与MinGW详解
需积分: 9 175 浏览量
更新于2024-08-31
收藏 204KB DOCX 举报
本文档详细介绍了在Windows 10环境下使用MinGW和Visual Studio 2017两个编译器对Qt5.9.0源码进行静态编译的过程。首先,确保环境中已安装了Qt 5.9.0(附带MinGW 5.3.0 32位版本)和VS2017社区版。Qt的默认编译方式是动态链接,生成的可执行文件(exe)不能独立运行,需借助windeployqtxx.exe工具来找到并部署依赖的dll。
静态编译Qt源码的步骤分为四部分:
1. **环境准备**:
- 下载Qt 5.9.0源码,并确保Python已安装,使用源码目录为qt-everywhere-opensource-src-5.9.0。
2. **修改编译参数**:
- 对于VS2017:
- 修改qtbase/mkspecs/win32-msvc/qmake.conf,参照其中的路径,进一步修改qtbase/mkspecs/common/msvc-desktop.conf,以支持静态编译。
- 对于MinGW:
- 打开qtbase/mkspecs/win32-g++/qmake.conf,同样进行相应的静态编译配置。
3. **修复源码bug**:
- 如果使用VS2017编译,需要处理特定bug。在qtbase/src/corelib/tools/qalgorithms.h文件中,替换有问题的代码。此步骤可能在其他版本的Qt中有所不同。
4. **编译过程**:
- VS2017:
- 在VS2017开发者命令提示符中操作,执行configure命令,选择平台(win32-msvc)、编译类型(debug或release)以及输出路径(如E:\Qt-lib\5.9.0-static-vs2017),然后执行make命令完成编译。
- MinGW:
- 在名为"QT5.9forDesktop (MinGW)"的应用中,进入Qt源码根目录,同样执行configure(选择platform win32-g++),然后根据指引编译。
静态编译完成后,VS2017生成的exe文件会显著减小,因为不再包含庞大的dll依赖。然而,由于静态编译涉及的复杂性,需要注意可能存在的编译问题和性能影响。此外,文档还提到了动态编译与静态编译在大小和独立性上的对比,前者虽然exe较小,但需要额外的dll文件,而后者虽然exe较大,但无需外部依赖,适合对资源有限或者追求更稳定性的场景。
2022-11-25 上传
2020-08-17 上传
2022-01-17 上传
2022-11-29 上传
2021-08-09 上传
2022-11-25 上传
2019-09-30 上传
2021-09-23 上传
2022-12-17 上传
yetuanchun
- 粉丝: 0
- 资源: 1
最新资源
- Aspose资源包:转PDF无水印学习工具
- Go语言控制台输入输出操作教程
- 红外遥控报警器原理及应用详解下载
- 控制卷筒纸侧面位置的先进装置技术解析
- 易语言加解密例程源码详解与实践
- SpringMVC客户管理系统:Hibernate与Bootstrap集成实践
- 深入理解JavaScript Set与WeakSet的使用
- 深入解析接收存储及发送装置的广播技术方法
- zyString模块1.0源码公开-易语言编程利器
- Android记分板UI设计:SimpleScoreboard的简洁与高效
- 量子网格列设置存储组件:开源解决方案
- 全面技术源码合集:CcVita Php Check v1.1
- 中军创易语言抢购软件:付款功能解析
- Python手动实现图像滤波教程
- MATLAB源代码实现基于DFT的量子传输分析
- 开源程序Hukoch.exe:简化食谱管理与导入功能