天天看点

QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语

QT程序打包配置手册

  • 0-概述
  • 1-获取动态链接库
  • 2-程序打包
    • 2.1、工具
    • 2.2、工具简介
    • 2.3、准备文件
    • 2.4、程序打包过程
    • 2.5、HEU_DISdemo安装过程
  • 3、结语

0-概述

当使用QT编写完程序后,需要对程序进行打包,不然软件只能在装有QT环境的电脑中运行,这显然与我们制作软件的初衷相违背。下面将详细讲述HEU_DISdemo程序打包的过程。其实打包分为两个过程,第一部分是寻找可执行程序运行所依赖的动态链接库,在windows下格式为*.dll ;第二部分才是将软件打包。

1-获取动态链接库

QT的可执行程序所依赖的动态链接库存放于QT的安装目录下,具体路径为:

%QTRoot\Qt\Qt5.9.1\5.9.1\mingw53_32\bin 
           

我们仅需运行QT编译的可执行文件,当提示缺少*.dll文件时,将此文件从上述路径拷贝出来即可。最终HEU_DISdemo.exe所需的可执行文件如图1所示。

QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语

图1 HEU_DISdemo依赖的动态链接库

细心的你可能发现,这个目录中所列除了各种动态链接库文件,还存在一个platforms的文件夹。这个目录下仅有一个qwindows.dll的动态链接库文件,这个文件主要用于支持QT的程序在windows平台下运行。这个文件的路径为:

%QTRoot\Qt\Qt5.9.1\5.9.1\mingw53_32\plugins\platforms
           
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语

图2 platforms下的文件截图

2-程序打包

2.1、工具

HM NIS Edit + NSIS
           

2.2、工具简介

NSIS是一款免费的win32安装、卸载系统,具有脚本简洁高效、系统开销小的特点。进行安装、卸载、设置、解压也不在话下。简而言之,就是把把图1所示的目录全部压缩到一个安装程序中,并让用户通过用户向导进行安装。

HM NIS Edit是一款NSIS代码编辑器,这款编辑器存在一个NSIS代码生成向导,这样使用HM NIS Edit就能够根据生成向导进行程序打包。

这两款工具在网上很容易就下载到,因此在这里不作赘述。

2.3、准备文件

在打包之前需要制作一个license.txt,不能为空,里面可以撰写此软件的使用条件以及所需要遵守的协议等等,总之想写点啥就写啥。然后准备两个ico格式的图标,用于安装程序和卸载程序。当然需要准备QT编写的程序及动态库文件,如图1所示。在这里HEU_DISdemo软件准备的文件如图3所示,其中bin目录下放置的是图1所示的文件。

QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语

图3 打包所需准备的文件

2.4、程序打包过程

  1. 利用向导制作安装包

    打开HM NIS Edit软件,选择【文件】->【新建脚本向导】。

    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  2. 欢迎界面

    首先看到的是欢迎界面,直接点击下一步。

    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  3. 填写应用程序基本信息
    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  4. 指定安装程序选项

    这里需要指定安装程序的图标、安装程序位置和安装程序语言,其他选项选择默认参数。安装语言选择简体中文,即SimpChinese。

    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  5. 设置应用程序安装目录与授权文件

    这一步应用程序目录不用更改,但是授权文件一定需要指定,即指定图3所示的license.txt文件。

    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  6. 配置应用程序文件

    首先删除默认的两个文件,即makensis.exe和License.txt文件,虽然我也不知道这两个文件有什么作用,但是删了没有影响。

    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
    添加所需文件,注意按照图3所示的目录结构进行添加,不然程序会无法运行。
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  1. 配置应用程序图标

    主要关注红色部分创建的快捷方式是否为我们所需要的,如果不是则需要进行手动修改,其他参数使用默认参数即可。

    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  2. 选择安装程序完成后运行的动作
    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  3. 配置解除安装程序
    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
  4. 保存脚本并编译脚本

    选择保存脚本,并勾选编译脚本,然后点击完成按钮,如果不存在报错的话,那么HEU_DISdemo_Setup.exe安装程序已经生成完毕。

    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
    QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语

到这里,程序已经打包完毕,HEU_DISdemo_Setup.exe即为我们所需的安装程序。

2.5、HEU_DISdemo安装过程

为了更好的说明打包程序的效果,在这里给出HEU_DISdemo软件的安装过程。

QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语
QT程序打包配置手册0-概述1-获取动态链接库2-程序打包3、结语

3、结语

其实使用HM NIS Edit向导进行打包程序还是比较简单的,有不明白的地方可以在网上查询相关资料。当然我觉得美中不足的是采用向导生成的安装程序界面太丑了,感觉跟XP时代的安装包一样,如果想让安装程序界面更加美观,可以详细研究NSIS这个工具。