C++ 版 Qt 项目动态及静态编译统一教程
环境安装
必要下载项准备
将如下安装包都下载准备好:
| 必要项 | 链接 |
|---|---|
| Qt 5.7 动态编译器 | qt-opensource-windows-x86-msvc2015-5.7.1 |
| Visual Studio 2015 | vs2015.pro_chs.iso |
| 编译好的Qt5.7静态编译器 | qt5-x86-static-release.7z |
| MinGW | mingw-w64-install.exe |
| Qt VS AddIn | qt-vsaddin-msvc2015-2.4.3.vsix |
| Visual Studio Code | https://code.visualstudio.com/Download |
注:此套环境适配 VS2015 亲测有效,想改其它版本的 IDE 按本流程复现此项目如遇到问题需自行探索。
安装顺序
- 安装 Qt 5.7 动态编译器 (参考此链接博文第一章)
- 安装 Visual Studio 2015 (参考此链接博文第二章)
- 安装 Qt VS AddIn (直接双击
qt-vsaddin-msvc2015-2.4.3.vsix确认安装即可,若安装成功则打开 VS2015 的顶端菜单会多出一个Qt VS Tools按钮)

- 安装 MinGW (直接双击确认安装即可)
- 安装 Visual Studio Code (安装后参考链接博文第三章)
环境配置
(我 GitHub 上的 Qt 项目均是已配置好的仓库,若您复刻的是我的 Qt 项目,此步可跳过)
这里以我的 QSharer 这个项目为例,其它项目类似
附加依赖项配置
- 双击项目中的 .sln 文件用 VS2015 打开工程,右键
项目-属性


- 配置选择
活动(Release) - 打开
配置属性-C/C++-代码生成-运行库选择多线程(/MT)

- 打开
配置属性-链接器-输入-附加依赖项

将下述长串字符粘贴进去:
$(QTDIR)\lib\qtmain.lib;$(QTDIR)\lib\Qt5Widgets.lib;$(QTDIR)\plugins\platforms\qwindows.lib;winspool.lib;shlwapi.lib;rpcrt4.lib;$(QTDIR)\lib\Qt5PlatformSupport.lib;$(QTDIR)\plugins\imageformats\qdds.lib;$(QTDIR)\plugins\imageformats\qicns.lib;$(QTDIR)\plugins\imageformats\qico.lib;$(QTDIR)\plugins\imageformats\qtga.lib;$(QTDIR)\plugins\imageformats\qtiff.lib;$(QTDIR)\plugins\imageformats\qwbmp.lib;$(QTDIR)\plugins\imageformats\qwebp.lib;$(QTDIR)\lib\Qt5Gui.lib;comdlg32.lib;oleaut32.lib;imm32.lib;winmm.lib;glu32.lib;opengl32.lib;gdi32.lib;$(QTDIR)\lib\qtharfbuzzng.lib;$(QTDIR)\lib\Qt5Core.lib;kernel32.lib;user32.lib;shell32.lib;uuid.lib;ole32.lib;advapi32.lib;ws2_32.lib;mpr.lib
Qt 配置
- 完成前一步的附加依赖项配置
- 解压之前下好的 Qt 静态编译器
qt5-x86-static-release到前面 Qt 动态编译器安装路径的平行目录 (解压后其目录内部结构与动态编译器的类似,注意文件夹去重)

- 用 VS2015 打开工程,点击
[Qt VS Tools]->[Qt Options]->[Add],选择前面解压好的 Qt 静态编译器路径并确定

- 在
[Default Qt/Win version]下拉菜单中选择qt5-x86-static-release,点 OK

使用VSCode动态编译调试
由于 VS2015 比较笨重,一般只是在发布时才用于编译一下 release 版本,平时我们调试的时候可以用 VSCode 进行 debug,比较方便:
- 右键工程目录以 VSCode 打开工程 (个别项目需要提升权限的,则以管理员身份运行 VSCode 后将项目文件夹拖入 VSCode 窗口)

- 确认工程中
c_cpp_properties.json的includePath正确配置了前面安装的Qt 5.7 动态编译器路径,同时compilerPath正确配置了MinGW的环境变量路径 (参考链接博文第六章) - 点击
运行-启动调试(或直接键盘按 F5 开启 Debug 模式)

使用VS2015静态编译发布
上述 VSCode 仅用于调试时使用,而发布仍需要使用 VS2015,可能有办法手动做好静态编译链脚本让 VSCode 也能支持 C++ 版 Qt 项目静态编译,目前暂无时间去研究,先求稳为准,将就按目前的教程来:
- 用 VS2015 打开工程
- 选择
Release模式x86

- 选择
生成-重新生成解决方案

- 在工程目录下的 Release 中取出 .exe 文件,即为用于发布的文件


未来工作
有余力录制一套 Qt 编译视频教程

浙公网安备 33010602011771号