VS+Qt应用开发-发布Release程序打包发布

VS+Qt应用开发-发布Release程序打包发布


当完成一个Qt应用程序开发,要将其打包发给别人或在另外一台设备上运行时,直接将exe可执行程序拷过去是不行的,会提示缺少各种文件或程序无法正常启动,如下图所示:

在这里插入图片描述
在这里插入图片描述
首先,在开发程序时最好将对应编译器的bin文件夹路径添加到系统变量中,如何添加参考我的另一篇文章:https://blog.csdn.net/qq_36170958/article/details/108679509

其实,将bin路径添加到环境变量中,程序运行时就可以自动去bin路径去寻找dll,我们可以发现bin目录确实是包含这些dll的。
在这里插入图片描述
添加好环境变量后,在自己的电脑上运行exe是没有问题的,但是到没有开发环境的电脑运行仍然会报错,参考以下的发布过程。


程序的发布

介绍使用Qt的windeployqt工具自动提取所需文件的方法。windeployqt可以理解为Windows Deployment Loader Qt的缩写。

使用windeployqt发布

  1. 找到Qt安装目录下对应编译器的bin文件路径,比如我的为:D:\QT\5.9\msvc2013_64\bin,可以发现此路径下有windeployqt程序;在这里插入图片描述

  2. Win + R打开“运行”,输入cmd,回车进入命令提示符;在这里插入图片描述
    在这里插入图片描述

  3. 进入刚才找到的文件夹路径,输入命令:cd /d D:\QT\5.9\msvc2013_64\bin,回车;(为什么最好要做这一步请看文末的说明)在这里插入图片描述

  4. 在命令行输入命令:windeployqt C:\Users\zh\Desktop\MyQtDemo\x64\Release,回车,其中windeployqt后跟space(空格键),再跟exe所在的路径;在这里插入图片描述

  5. 回车后,可以发现开始自动复制文件,exe所在文件夹已经有了新文件;在这里插入图片描述

  6. 此时已经完成,将exe所在的整个文件夹打包,双击exe即可打开可执行程序。在这里插入图片描述

在这里插入图片描述

提取的部分文件说明

使用windeployqt命令自动提取的文件如下:
在这里插入图片描述

  • iconengines: 和图标有关;
  • imageformats: 如果程序中使用了png以外格式的文件,则需要此文件夹和对应的图片格式的dll,例如程序中只使用了bmp格式的图片,imageformats文件夹中只需保留qwbmp.dll;
  • platforms: 和平台有关;
  • translations: 和国际化翻译有关;


说明

为什么要先进入windeployqt所在的文件夹,先看看几种其他命令方式:

  • 进入命令提示符后,输入语句有以下几种方式:
windeployqt C:\Users\zh\Desktop\MyQtDemo\x64\Release
cd /d C:\Users\zh\Desktop\MyQtDemo\x64\Release
windeployqt MyQtDemo.exe

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

我的可执行程序是64位Release版本的,但是此处复制的dll却是64位Debug版的,程序依然是无法运行的。这是因为我的电脑不仅安装了msvc2013编译器,还安装了其他版本的编译器,而其他编译器bin路径在msvc2013的bin路径的前面,解决方法是将系统环境变量中msvc2013的bin路径放到其他编译器路径的前面。

  • 5
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值