本教程对应的软件是Qt Creater,只有绿色便携版能正常运行才能够打包成单文件版和可安装版。
一、绿色便携版
特点:给别人发送的时候需要先制作成一个压缩包文件,解压即用。 使用Qt自带的程序
1、给exe软件添加图标
exe软件的图标,而不是主窗口左上角的图标 图标分享 | 30 个免费 icon 下载网站 - 知乎
如果是自己的图片,可以提供这两个网站进行ico的转换
1.1、找到图标后下载.ico文件的图片到本地
1.2、放到工程文件根目录,然后在Qt Creator中修改pro文件,例如我的ico文件名为crt_app.ico,那么我在pro文件的最后一行加上RC_ICONS = crt_app.ico

1.3、编译运行即可

2、生成绿色便携版软件
2.1、将项目改为Release版本,这里不是必须的,改了的好处是发布的软件的体积比较小

2.2、编译后软件输出在build-PaintSystem-Desktop_Qt_5_15_14_MinGW_64_bit-Release的编译输出的目录找到对应版本下的exe程序

2.3、新建一个文件夹,把exe文件复制过去,我的文件夹叫my_exe。 后面则是添加运行环境

2.4、打开QT自带的软件,我这里的编译器是MinGW,所以选择MinGW版本

2.5、进入到刚才新建的目录(这一步很重要)

也可以单击鼠标右键,如果有终端打开,则跳过2.4与2.5
2.6、执行windeployqt 编译出来的xxxxx.exe
windeployqt xxxx.exe

2.7、执行完毕就会发现在刚才新建的目录下多了很多新文件,这都是执行刚才的命令QT自动帮我们拉取过来的运行我们的exe必须的依赖环境,在这个文件夹内双击运行我们的exe,一切正常之后就可以把这个文件夹打包发给别人了!这就是绿色便携版。

注意:如果运行还提示缺少某个dll,那就需要我们手动将这个dll复制到我们新建的目录下。
二、单文件exe版
单文件版的特点:给别人发送的是一个包含运行环境的exe文件,双击即可使用。
单文件版需要借助辅助工具进行 , 使用 Enigma Virtual Box
官网Software Protection, Software Licensing, Software Virtualization

安装 Enigma Virtual Box则是一路next。
1、选择待封包的主程exe

2、选择做下角add-----选择第二项Add_Folder,然后选择刚才新建的文件夹,确认即可

3、点击文件选项-----压缩文件,然后确定即可

4、最后一步,点击Process进行封包
5、然后在我们刚才新建的文件夹下会多出来一个_boxed.exe结尾的exe文件,这个就是单文件版,可以直接把这个exe文件发送给别人,双击即可使用。

三、可安装版
特点:给别人发送安装包,需要先安装再使用。
同理,也是需要借助辅助工具进行 使用Inno Setup
官网 Inno Setup
安装 Inno Setup则是一路next。

1、选择新建,直接Next

2、设置软件的名称,软件版本号,发布者,软件的官网。

3、设置软件的安装文件夹,默认即可

4、设置可执行文件,设置可执行文件的依赖环境

5、设置关联的文件格式

6、设置开始菜单和桌面快捷方式

7、设置安装信息,如果设置了许可文件,那么双击安装包会先弹出来该文件的内容,同意了才能进行安装。

8、设置安装模式

9、设置安装语言

10、设置安装包制作后的存放位置、安装包的名称、安装包的图标(不设置是默认图标)、安装密码

11、设置#define编译指令

12、点击Finish

13、编译脚本,选择是,然后设置保存脚本的位置,完成即可在第十步设置的文件夹看到制作的安装包,双击即可安装。