Qt之程序发布以及打包成exe安装包

1 简述
Qt 项目开发完成之后,需要打包发布程序,而因为用户电脑上没有 Qt 配置环境,所以需要将 release 生成的 exe 文件和所依赖的 dll 文件复制到一个文件夹中,然后再用 Inno Setup 打包工具打包成一个 exe 安装包,就可以发布了。
Inno Setup为一款开源的软件。
2 设置应用程序图标
2.1 图标文件
我们编译好生成的 exe 文件的图标是 Qt 自带的一个白色的框框,不太好看。所以,我们可以自定义图标。先创建一个 ico 格式的文件,网上有很多在线就可以把 png 或 jpg 的图片转成 ico 格式的图标文件,然后把 ico 文件放到源代码目录下,就是 .pro 文件的同一文件夹下 如图:
Qt之程序发布以及打包成exe安装包_第1张图片
2.2 添加配置文件
在.pro项目文件中添加:
RC_ICONS = EncryptionSoftware.ico // 这里的EncryptionSoftware.ico是我的ico文件的名字,改成你自己的ico文件名
如图:

Qt之程序发布以及打包成exe安装包_第2张图片
2.3 编译
添加完后一定要重新 qmake 一遍,然后再运行一遍你的程序,这样再看你的 debug 或者 release 文件夹下的 exe 文件就会有你设置好的图标了。
如图:
Qt之程序发布以及打包成exe安装包_第3张图片
3 发布程序
3.1 获得依赖库
发布程序首先要获得所依赖的 dll 文件,这里有两种方法。
方法一就是去 Qt 安装目录的 bin 目录(我的是D:\QT5.12\5.12.0\mingw73_64)中找所依赖的 dll 文件。
方法二就是使用 Qt 自带的发布程序工具 windeployqt.exe,可以生成所依赖的 dll 文件。这里着重讲解第二种方法,步骤如下:
3.1.1 Release 方式编译生成 exe 程序
Release 方式编译生成 exe 程序,也就是调试运行的方式选择 Release
Qt之程序发布以及打包成exe安装包_第4张图片
运行成功后,在release 文件夹下生成 exe 文件。
3.1.2 运行cmd
将 EncryptionSoftware.exe 可执行文件复制到别的文件夹下,然后在 “开始菜单Qt5.12.0” 下找到 “Qt 5.12.0 for Desktop cmd” 运行文件,打开运行。
Qt之程序发布以及打包成exe安装包_第5张图片
3.1.3 执行命令
进入放EncryptionSoftware.exe可执行文件的目录,执行windeployqt EncryptionSoftware.exe 命令,Qt 就会自动把该程序所需要的所有 dll 拷贝过来。
Qt之程序发布以及打包成exe安装包_第6张图片

4 打包程序
Inno Setup 是一个免费的 Windows 安装程序制作软件,小巧、简便、精美是其最大特点,支持 pascal 脚本,能快速制作出标准 Windows2000 风格的安装界面,足以完成一般安装任务。
官方下载地址:http://www.jrsoftware.org/isdl.php#stable
下载后直接安装即可。
项目开发完成之后,需要打包程序发行,可以使用 Inno Setup 软件制作安装 exe。以下详细讲解如何打包应用程序:
4.1 新建文件
打开 Inno Setup Complier,点击 【file】→【new】,新建一个脚本向导程序,然后点击【next】;如图:
Qt之程序发布以及打包成exe安装包_第7张图片
4.2 输入信息
在应用程序信息中输入 “应用程序名称”、“应用程序版本”、“应用程序发布者”、“应用程序网站”,这些信息会自动在脚本中生成,然后点击下一步;
Qt之程序发布以及打包成exe安装包_第8张图片

4.3 输出地址以及输出文件夹的名称
自定义打包文件的的输出地址以及输出文件夹的名称,然后点击下一步

Qt之程序发布以及打包成exe安装包_第9张图片
4.4 选择主执行文件和库文件
选择应用程序的主执行文件,也就是你编译生成的 exe 文件,下面点击 “Add folder ”,把所有你的程序运行需要的 dll 和资源以及配置文件放在一个文件夹里,选择这个文件夹,然后点击下一步;
Qt之程序发布以及打包成exe安装包_第10张图片
注:Add folder 添加 .exe 的父文件夹,将依赖的 dll 等文件全部包含在内。
4.5 应用程序显示名字和功能
输入应用程序在开始菜单中显示的名字,需要哪些功能,在前边打上对勾,一般默认即可,然后点击下一步;
Qt之程序发布以及打包成exe安装包_第11张图片
4.6 软件相关文件
这里可以选择 “许可文件”,“安装前的文件”(如 Readme 文件等),“安装后显示信息” 等,然后点击下一步;
Qt之程序发布以及打包成exe安装包_第12张图片
4.7 安装语言
选择 “安装语言”,然后点击下一步;

Qt之程序发布以及打包成exe安装包_第13张图片
4.8 自定义文件的输出信息
选择 “自定义编译器输出文件夹”、“编译器输出基本文件名”、“自定义的安装程序图标文件”及“安装密码”,然后点击下一步
Qt之程序发布以及打包成exe安装包_第14张图片
4.9 是否使用 #define 编译指令
在这里选择是否使用 #define 编译指令,选择 yes 也就是在生成的脚本里使用 #define 宏定义一些常量,方便脚本编写,勾不勾选随意,然后点击下一步;

Qt之程序发布以及打包成exe安装包_第15张图片
Qt之程序发布以及打包成exe安装包_第16张图片

前面最后一步中间会询问你是否立即编译新的脚本,这个脚本是根据刚才我们前面填写的那些内容自动生成的。可以直接使用编译,也可以自己重新编写,下面贴出生成的脚本代码。
Qt之程序发布以及打包成exe安装包_第17张图片

5 安装
5.1 选择语言
Qt之程序发布以及打包成exe安装包_第18张图片
5.2 输入密码
Qt之程序发布以及打包成exe安装包_第19张图片
5.3 readme.txt的内容
Qt之程序发布以及打包成exe安装包_第20张图片
5.4 选择安装位置
选择合适的安装位置进行安装
Qt之程序发布以及打包成exe安装包_第21张图片
5.5 安装完毕
Qt之程序发布以及打包成exe安装包_第22张图片

桌面快捷方式如图:
Qt之程序发布以及打包成exe安装包_第23张图片

你可能感兴趣的:(QT)