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程序打包-优快云博客