Windows 平台Qt 程序发布

  • 使用 windeployqt 工具查找依赖库
  • 打包程序
    • Enigma Virtual Box 生成单执行文件
    • Inno Setup 打包

资源

Qt Creator快速入门 第2版 第二章 2.2.2
Qt5.9 c++开发指南 16.4.2
教你使用windeployqt工具来进行Qt的打包发布

使用 windeployqt 工具查找依赖库

1、在 release 模式运行程序,找到应用程序生成的 .exe 文件复制到另一个目录中,如 D:\1\demo.exe
2、打开命令行窗口,运行 windeployqt,输入

cd /d D:\1
windeployqt demo.exe

则会在 D:\1 目录下生成一些运行程序 demo.exe 需要的一些库文件、翻译文件等。
将这些文件复制到工程目录中,单独建一个文件夹,如 dependencies ,然后在工程文件中添加下面语句让程序构建后将这些文件复制到 .exe 文件中。

TARGET = demo  #应用程序的名字 生成 demo.exe
TEMPLATE = app#在可执行文件在构建目录中建立一个`bin`文件夹(和 `debug` 文件在同一目录),可执行文件在`bin`目录中
DESTDIR += bin #工程文件所在的目录,将Qt的路径转换为 windows 的路径(分隔符改变)
proDir = $$system_path($$PWD)#可执行文件所在的路径,将Qt的路径转换为 windows 的路径(分隔符改变)
appDir= $$system_path($$OUT_PWD)#将工程文件所在目录 `dependencies` 文件夹中的文件全部拷贝到可执行文件所在的目录中
QMAKE_POST_LINK += xcopy   $$proDir \dependencies\*  $$DESTDIR\* /y/S &\

注意:

Qt5.9 c++开发指南 16.4.2

  1. 注意 windeployqt 的版本
  2. 如果该应用程序使用其他的库,如自己另外写了一个库 lib.dll,而该程序使用到该库,可同样用 windeployqt 来生成依赖的文件,将这些文件同样加到 dependencies 文件中。
  3. 可能 windeployqt 并没将全部的文件复制过来,最后需要测试文件的完整性。

介绍检查 exe 程序依赖的文章:

Windows 查看 exe 依赖的 dll 的方法

打包程序

Enigma Virtual Box 生成单执行文件

Enigma Virtual Box封包工具介绍

Inno Setup 打包

可以自定义安装界面,安装和卸载步骤等
Inno Setup 打包脚本笔记

Windows 平台Qt 程序发布相关推荐

  1. Windows平台下程序打包流程

    Windows平台下程序打包流程 1.所有测试完成之后.程序release编译完成 2.依赖库打包 执行deploy.bat 脚本打包最新的程序以及依赖库 3.可执行程序打包 打开打包工程文件.evb ...

  2. Windows下Qt程序打包

    Windows下Qt程序打包 将windeployqt.exe 目录添加到系统环境变量 windeployqt.exe目录如下: 命令行打包 1.打开命令行 2.执行打包命令 windeployqt ...

  3. [NSIS]NSIS——Qt程序发布工具

    平台:Windows10家庭中文版 x64 环境:NSIS 2.50 参考资料: 1.<2.31.2 使用NSIS(Nullsoft Install System)> -- http:// ...

  4. QT程序发布使用的软件集合

    文章目录 前言 一.打包前准备 二.常用打包软件 1.setup factory 2.inno setup 3.Engima Virtual Box 4.Qt Installer Framework ...

  5. [Qt]Qt程序发布:在ubuntu下打包成Debian包的过程

    0:在ubuntu下将Qt程序打包,发布成Debian包的过程 下面的步骤对于所有的打包程序都是通用的,所以完全可以写一个脚本,把这个包过程自动化,但是在自动化之前,我们需要弄清楚,一步一步打包是如何 ...

  6. Qt 程序发布与运行(官方 windeployqt)

    引言 发布 Qt 程序,这可能是大家最长做的事情,但是经常会遇到,动态库找不到,链接不正确,运行时错误等等诸多问题,接下来我为大家引出最正确的发布姿势. 版权所有:_ OE _, 转载请注明出处:ht ...

  7. Windows下Qt程序初步打包

    首先构建项目(推荐使用MSVC,release)并生成相应的exe. 来到相应的built中找到release文件夹,进入然后找到.exe文件,将其拷贝到新的文件夹下. 在搜索中搜索:(注意:编译器使 ...

  8. Qt4程序在windows平台下打包发布

    一.打包成绿色版 将源码编译成release版,运行*.exe文件,提示缺少*.dll,在Qt安装目录中找到相应的dll文件(一般在bin目录下),将dll文件复制到exe文件目录下即可. 二.打包成 ...

  9. 【Qt】Qt程序发布

    00. 目录 文章目录 00. 目录 01. 概述 02. 开发环境 03. 编译Debug版本程序 04. 编译Release版本程序 05. 编译Profile版本程序 06. 附录 01. 概述 ...

最新文章

  1. Dynamic ReLU论文解读
  2. 工程应用中的自相关操作
  3. CF438D-The Child and Sequence【线段树】
  4. 这个统一了238个机器学习模型R包的参考手册推荐给你
  5. vmWare中安装centos7
  6. 集群之间数据拷贝distcp性能的调优
  7. Mac 下载并使用 Adobe Audition CC 2019 分离 人物语音和背景音乐
  8. 编译ffmpeg没有生成编译后ffplay
  9. 微信小程序获取是android还是ios,微信小程序-手机操作系统以及微信版本判断
  10. linux系统配置设置网络端口映射,Linux 配置端口映射
  11. php 关闭call stack,Thinkphp Call Stack,PHP调用栈Call Stack的获取
  12. cocos creator制作微信小游戏
  13. android 屏幕密度范围,Android屏幕密度
  14. 深入理解计算机网络-4信号编码与调制2
  15. linux 上 gcc -m32 编译报错解决方案
  16. 酒仙桥 asp.net 面试
  17. Python有嘻哈:Crossin教你用代码写出押韵的verse
  18. 8种减肥法,让你的APP瘦身30%
  19. 【Hbase】(十一)详解 HBase 表的设计原则
  20. java中extends与implements的区别

热门文章

  1. 前端学习从入门到高级全程记录之25(webapi)
  2. [转]趣文:编程语言伪简史
  3. 前端实现控制浏览器全屏显示
  4. 为银行设计ATM菜单C语言,ATM银行管理系统代码及程序c语言课程设计【荐】.doc
  5. 1500万员工轻松管理,云原生数据库GaussDB让HR办公更高效
  6. C#人事管理系统开发(4)公共类设计
  7. 用html做qq会员页面导航,练习1:QQ会员页面导航.html
  8. TIOBE 5月榜单:时隔五年,C语言重返第一
  9. WPS-js宏 写一个批量重命名的工具宏
  10. P9 android8 第三方,吃上安卓8.0,华为Mate8/P9/P9 Plus/荣耀8等EMUI8.0内测招募正式开启...