QT程序打包发布

一、步骤概述

Qt 项目开发完成之后,打包发布程序步骤

1、生成release版本

2、获取程序所需要的dll文件

3、使用打包工具Inno Setup将程序打包成一个exe安装包发布。

二、具体操作

1、生成release版本

        以 Release 方式编译生成 exe 程序,也就是调试运行的方式选择 Release。在这一步的关键是要注意编译版本,即是使用msvc2017 64bit还是别的。运行成功后,如果勾选了 “shadow build” 将源码路径和构建路径分开,那么将在 build-XXX-Desktop_Qt_5_9_7_MinGW_32bit-Release 文件夹下生成 exe 文件,否则在源码工程目录下的 release 文件夹下生成 XXX.exe 文件。

2、获取程序所需要的dll文件

        将XXX.exe 应用程序单独拿出来,放入一个文件夹中,例:C:\pack下,之后再在开始菜单中寻找和编译版本对应版本的dos运行文件,(QT版本5.9的之前的叫Desktop cmd,之后的没有这个后缀了,直接是和编译版本相同的名字,例:msvc2017 64bit编译的,就找msvc2017 64bit)。

        打开运行文件进入到xxx.exe所放入的文件夹下,例:cd c:\pack,之后执行windeployqt xxx.exe命令,Qt 就会自动把该程序所需要的所有 dll 拷贝过来。当然有可能有些 dll 不是我们需要的,例如下面的 D3Dcompiler_47.dll,为了使发布程序尽可能的小,可以把这些 dll 一个一个删掉,再打开 exe 程序,看哪些 dll 是删掉后就打开不了程序的,保留下来,剩下的删除即可。其实到这一步,就可以将整个文件夹发布出去了,但如果想打包成一个 exe 安装包,就要进行下面的步骤了。

3、使用打包工具Inno Setup将程序打包成一个exe安装包发布。

打包程序网上有很多,我这里选择的是Inno Setup 6.2.0,附上下载链接

官方下载地址:Inno Setup Downloads

下载后直接安装即可。

(1)打开 Inno Setup Complier,点击 【file】→【new】,新建一个脚本向导程序,下面那个create a new empty script file,是创建一个空脚本,可以选择自己写,建议直接点击【next】,能省不少事情;

QT程序打包发布_第1张图片

 

(2)在应用程序信息中输入 “应用程序名称”、“应用程序版本”、“应用程序发布者”、“应用程序网站”,这些信息会自动在脚本中生成,然后点击下一步;

QT程序打包发布_第2张图片

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

(打勾的是允许用户更改应用程序文件夹)

QT程序打包发布_第3张图片

 

(4)选择应用程序的主执行文件,也就是你编译生成的 exe 文件,下面点击 “Add folder ”,把所有你的程序运行需要的 dll 和资源以及配置文件放在一个文件夹里,选择这个文件夹,然后点击下一步;

注:Add folder 添加 .exe 的父文件夹,将依赖的 dll 等文件全部包含在内。

(5)应用程序文件关联,应用程序将文件类型添加到主可执行文件。应用程序文件类型名称,应用程序文件类型扩展名;

QT程序打包发布_第4张图片

 

(6)输入应用程序在开始菜单中显示的名字,需要哪些功能,在前边打上对勾,一般默认即可,然后点击下一步;

QT程序打包发布_第5张图片

(7)这里可以选择 “许可文件”,“安装前的文件”(如 Readme 文件等),“安装后显示信息” 等,然后点击下一步;

QT程序打包发布_第6张图片

(8)选择 “安装模式”默认即可,然后点击下一步;

QT程序打包发布_第7张图片

(9)“安装语言”选择,这个软件暂时是没有官方中文的,但可以自己加脚本,相关教程可以在网上找找有很多,然后下一步

QT程序打包发布_第8张图片

(10)选择 “自定义编译器输出文件夹”、“编译器输出基本文件名”、“自定义的安装程序图标文件”及“安装密码”,然后点击下一步;

QT程序打包发布_第9张图片

(11)在这里选择是否使用 #define 编译指令,选择 yes 也就是在生成的脚本里使用 #define 宏定义一些常量,方便脚本编写,勾不勾选随意,然后点击下一步;

QT程序打包发布_第10张图片

(12)完成

QT程序打包发布_第11张图片

          前面最后一步中间会询问你是否立即编译新的脚本,这个脚本是根据刚才我们前面填写的那些内容自动生成的,这也是为什么在创建时不建议勾选空脚本文件的原因。可以直接使用编译,也可以自己重新编写。

  • 运行过程中出现错误,可以直接在脚本中进行修改。
  • 如果要打包出新版本的 exe 安装包文件,不需要再将上面流程走一遍,只需要将原先的 exe 可执行文件替换掉,再打开原先生成的脚本文件运行,即可生成新版本的 exe 安装包文件。

最后就生成了 exe 安装包文件,点击打开exe文件即可进行安装

你可能感兴趣的:(经验分享)