Qt程序项目的打包及发布详解

本文详细介绍了如何使用Qt进行项目发布,包括选择Release模式构建、运行程序、拷贝必要的dll文件,以及两种不同的打包方法。对于可能出现的运行错误,文章提供了相应的解决办法,并提到了深度打包成setup安装包的方案,推荐使用hmnisedit工具。同时,强调了添加Qt安装目录到环境变量的重要性。
摘要由CSDN通过智能技术生成

一、项目发布概述

当程序已经编译完成,那么怎样来发布它,让它在别人的计算机上也能运行呢?前面生成的debug版本程序依赖的dll文件很大,那是因为debug版本程序中包含了调试信息,可以用来调试。而真正要发布程序时要使用release版本。

二、方法一:

方法一主要有五步。
在打包发布之前,需要首先添加环境变量。

添加环境变量的方法为:将Qt安装目录下的bin文件夹添加到环境变量path中,我这里的目录为:D:\Qt\6.1.0\mingw81_64\bin。
在这里插入图片描述

2.1 在构建中选择Release

在这里插入图片描述

2.2 构建项目——>运行程序

在这里插入图片描述

2.3 在release文件夹中找到exe文件,将其移出来,放置在特定文件夹中

在这里插入图片描述

2.4 在该文件夹中shift+鼠标右键——>在此处打开Powershell窗口

在这里插入图片描述

2.5 输入指令

windeployqt main2.exe

【注】:这里为实际exe文件。

OK,完成!!!

需要注意的是,这样构建的项目可能存在在别人电脑中因为缺少一些dll库而无法运行的情况,因此需要他人电脑中的错误提示再将一些dll文件放入文件夹中,常见错误如下:
在这里插入图片描述
这时就需要将再去Qt安装目录的bin目录中将libgcc_s_seh-1.dll,libstdc++-6.dll,libwinpthread-1.dll,Qt6Core.dll,Qt6Gui.dllQt6Widgets.dll这六个文件复制过来【如果调用了QCustomPlot库,还需要再加一个Qt6PrintSupport.dll文件】。

因此,接下来介绍一个更为通用的方法。

三、方法二:

方法二主要有三步。

3.1 在构建中选择Release

(同上)

3.2 构建项目——>运行程序

(同上)
编译完成后再看项目目录中E:…\build-main2-Desktop_Qt_6_1_0_MinGW_64_bit-Release\release文件夹中已经生成了main2.exe文件,可以看一下它的大小,大概是前面debug版的十几倍,相差很大。如果已经添加了path的系统环境变量,那么现在就可以直接双击运行该程序。如果无法正常运行,则需要添加环境变量。添加环境变量的方法为:将Qt安装目录下的bin文件夹添加到环境变量path中,我这里的目录为:D:\Qt\6.1.0\mingw81_64\bin。
在这里插入图片描述

3.3 新建文件夹,放入exe文件和dll

在桌面新建一个文件夹,命名为project(随便)。然后将release文件夹中的main2.exe复制过来,再去Qt安装目录的bin目录中将libgcc_s_seh-1.dll,libstdc++-6.dll,libwinpthread-1.dll,Qt6Core.dll,Qt6Gui.dllQt6Widgets.dll这六个文件复制过来【如果调用了QCustomPlot库,还需要再加一个Qt6PrintSupport.dll文件】。另外,还需要将D:\Qt\6.1.0\mingw81_64\plugins目录下的platforms文件夹复制过来(不要修改该文件夹名称),里面只需要保留qwindow.dll文件即可。

OK,完成,可以打包发布了!!!
参考:《Qt Creator快速入门》(第三版)

四、拓展——深度打包

如果想更深度打包,打包成setup安装包格式,可以下载hm nis edit,下载地址:http://hmne.sourceforge.net/
使用方法参考:手把手教NIS Edit安装向导的使用

ok,以上便是全部内容了,如果对你有所帮助,记得点个赞哟~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wendy_ya

您的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值