Qt成功打包项目教程

1. 准备好Qt项目

首先我们要准备好可以在Debug模式下正常运行的项目,将其更改为Release模式 。

以release的方式进行构建运行,这样生成的.exe文件(项目发布需要)大小会小很多,而Debug方式下产生的.exe文件带有许多调试信息,文件比较大

再分别点击构建项目和编译

这样我们就得到了Release模式下的项目

2. 手动发布

在生成的文件夹中的release文件夹中,包含了Qt项目的exe程序

我们直接点击运行,可以看到报错,这需要我们的电脑中有Qt相关的环境,并且你发给别人也需要别人有Qt环境才能打开,因此,我们不推荐这种方式。

3. windeployqt发布

这种发布方式,可以让没有任何Qt环境的人运行该项目,也是我们在互联网上下载软件最常见的方式。

在基于手动发布的基础上,我们把exe程序文件赋值一份到另一个文件夹中,(这里我在桌面新建了一个Release文件夹,然后把CoinFlip.exe文件放进去了。然后接下来我们用windeployqt自动为其链接资源。

3.1. 电脑cmd方式

这种方式不仅需要把windeployqt.exe文件添加到系统Path环境变量中,并且生成出来的exe文件打开仍然会报错,于是我不推荐使用电脑自带的cmd方式链接资源。

我个人反正尝试了很多次都没有成功,你们可以试一下,不想试的话就用下面一种方式。

3.2. Qt自带链接终端

我们在开始界面搜索Qt,找到和你的编辑器对应的终端(如果不清楚,可以进如Qt,将鼠标放在构建方式上,查看你的Kit),然后右键选择以管理员方式运行

接下来我们复制要链接的exe文件所在路径

然后使用语法cd /d +文件路径,把路径转到我们要链接的exe文件所在的Release文件夹

然后我们把windeployqt和要连接的CoinFlip.exe 一起输入,可以看到我们连结成功了

我们双击exe文件,发现可以正常运行。当然,你也可以把全部文件压缩后发送给其他人,都是可以正常打开的。

4. 打包成setup.exe安装包

其实完成发布操作,就可以将整个文件夹发布出去了,但如果想打包成一个 exe 安装包,还需要一点操作。Windows环境将应用程序打包成一个exe应用,就像我们平常下载软件一样,以便给没有Qt环境的用户使用。

Windows 安装程序制作软件有许多,我这里使用的是NSIS + NisEdit来制作,使用NIS Edit打包程序,但是语言包必须Nsis支持实现;

1.在发布的文件夹中添加程序安装图标、卸载图标及 License.txt 自述文件.如下图

注意:直接将 xxx.jpg 或 xxx.png 后缀改为 xxx.ico 是不能将图片转为图标的。

在线转 icon 网址:ICO转换器 - ICO图片格式在线转换 - 迅捷PDF转换器在线版

注意生成图标时候像素选择大点,如 256*256。License.txt 文件内容可自行定义

2.安装NSIS和脚本编辑器NisEdit

这个直接在浏览器搜索NSIS和hm nis edit下载最新的即可

3.运行脚本编辑器(NisEdit)

文件 --> 新建脚本:向导,点击下一步

可以自行设置一些东西

设置安装图标、语言等

若安装程序语言里面一片空白,没有语言选项时(NSIS 已安装),点击NSIS设置下编译器及帮助路径:

回到刚刚步骤,接着往下操作,设置License路径

先删除这两个文件

再导入要打包的文件

对于未在文件夹中的文件,我们可以直接全添加文件

对于在文件夹中的文件,我们可以直接添加文件夹,并且在目的目录中设置一样的文件夹

将全部文件夹也添加好后,我们找到exe文件,点击下一步

设置以下开始菜单名

设置以下

设置一下卸载图标

全部勾选,完成

命名脚本文件

编译完成,生成了setup.exe

点击setup.exe即可安装项目,可以直接把exe或打包发送给别人。

5. 参考文章

因为每个人的情况不同,下面有几篇其他文章可以参考一下,有问题可评论

QT项目打包成软件进行发布的三种方式_qt程序打包-CSDN博客

Qt项目打包发布超详细教程_qt windeployqt 打包-CSDN博客

NSIS打包教程-CSDN博客

  • 27
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值