Qt5.9源码静态编译教程:VS2017与MinGW详解
需积分: 9 168 浏览量
更新于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 上传
1235 浏览量
440 浏览量
732 浏览量
594 浏览量
352 浏览量
629 浏览量
713 浏览量
579 浏览量
yetuanchun
- 粉丝: 0
- 资源: 1
最新资源
- 微信小程序-点餐
- ionicStudyWithTabs:带有 ngCordova 的离子模板项目
- note-taker
- XIANDUAN.rar
- 一种基于高通量测序的拷贝数变异检测自动化分析解读及报告系统.rar
- rasaxproject1
- GitHub Open All Notifications-crx插件
- gatsby-remark-component-images:一个Gatsby注释插件,将gatsby-plugin-sharp处理应用于html样式的markdown标签
- 易语言开关音频服务实现开关声音-易语言
- ComposeKmmMoviesApp
- HistogramComponentDemo.7z
- UA GPU-able Search-crx插件
- MYSQL数据库管理器(易语言2005年大赛三等奖)2010-10-27.rar
- native-api-notification-[removed]JavaScript中的本机通知API
- 将超像素作为输入MATLAB代码-laplacianseg:种子图像分割的拉普拉斯坐标
- MyDroid