vs2015 + Qt5.7 动态&静态编译教程
动机
在默认情况下,用QtCreator编译程序时,使用的是动态编译,这就导致编译好的程序在运行时需要另外加上相应的Qt库文件,以及一大堆dll文件。如果想将生成的程序连同所需要的库一起完整地打包成一个可执行程序,并且可以在一台没有开发环境的电脑上运行,那就需要使用静态编译。[1]
前期准备
下载 Qt 5.7 动态编译器 并安装 (参考链接博文第一章)
下载 Qt 5.7 静态编译器压缩包 并解压至动态编译器安装路径平行目录
下载 Qt VS AddIn 并安装
vs2015上创建Qt工程
打开 vs2015,选择 文件 -> 新建 -> 项目
选择 [模板] -> [Visual C++] -> [Qt] -> [Qt GUI Application]
为测试,接下来一路按默认项 Next 点下去,最后点 Finish 即可:
这样就用 vs2015 创建好了一个工程:
配置动态编译环境
点击 Qt VS Tools
-> Qt Options
在弹出的对话框中点击 Add
,按下图选择之前安装的 Qt 动态编译器的路径并点击确定:
Default Qt/Win version 选择 msvc2015 并点击 OK
接下来选中项目,再点击 Qt VS Tools -> Qt Project Settings
配置切换至 Debug ,选择 配置属性 -> Qt Project Settings -> Qt Installation ,选择 msvc2015
点击确定。
动态编译调试
点击 本地 Windows 调试器
出现界面即为成功
配置静态编译环境
将之前下好的 Qt 静态编译器压缩包 解压至 Qt 动态编译器路径平行目录:
然后切回 vs2015项目,再次点击 Qt VS Tools -> Qt Options -> Add,与之前添加动态编译器的操作类似,再次将刚刚解压的静态编译器路径导入并点 OK
再次选中项目,点击 Qt VS Tools -> Qt Project Settings,将配置切换至 Release, Qt Installation 改为 qt5-x86-static-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
再点击依赖项右边的向下箭头,选择 编辑
在弹出的对话框中勾选 从父级或项目默认设置继承
后确定:
静态编译发布
回到项目界面,将编译模式切换至 Release
再点击 生成
-> 重新生成解决方案
编译成功截图如下:
去项目目录下的 Release 文件夹中取出 .exe 发布文件即可
本文作者:天才俱乐部
本文链接:https://www.cnblogs.com/Genius-Society/p/17018459.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。若有侵权请联系作者。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步