QT5程序打包发布

1.概述

 当我们用QT写好了一个软件,要把你的程序分享出去的时候,不可能把编译的目录拷贝给别人去运行。编译好的程序应该是一个主程序,加一些资源文件,再加一些动态链接库,高大上一些的还可以做一个安装文件。

QT开发的程序发布的时候经常采用两种方式:

l  静态编译,可生成单一的可执行文件。

l  动态编译,需同时附上需要的dll文件。

 2.发布准备

 不管采用哪种方式,首先我们要把项目的发布做一些准备,例如:准备程序的图标,将项目编译成release等。  

应用程序的图标分两种:

l  主窗口图标,主要在程序运行时显示在主窗口左上角,或在任务栏上显示。

l  运行程序图标,一般在桌面或文件夹中显示的缩略图标,可以点击后运行程序。

 设置应用程序图标

使用.ico文件。
第一步,创建.ico文件。将ico图标文件复制到工程文件夹目录中,重命名为“myico.ico”。然后在该目录中右击,新建文档,修改名称为myico.rc,并输入一行代码:                    
     IDI_ICON1   ICON    DISCARDABLE   "myico.ico" 。保存。
第二步,修改项目文件。在Qt Creator中的编辑模式双击.pro文件,在最后面添加下面一行代码:
  RC_FILE  += myico.rc
第三步,运行程序。可以看到窗口的左上角的图标已经更换了。

注意事项:

 在这个地方一定要是.ico文件格式的图片,可以通过下面的网站进行图片格式转换

http://www.bitbug.net/

当然也可以通过其他方式设置图标,通过网上搜索有很多种实现方式 

3.打包工具 

一个是QT5自带的windeployqt(这个大家不需要下载安装),另外一个是Engima Virtual Box,这是下载链接Engima Virtual Box 

4.开始打包 

打开一个QT程序,以release方式运行一次

 这时你的工程项目文件夹下,会生成一个关于release的文件夹:

 打开release文件夹,找到该目录下release目录下的.exe程序。此时你点击是运行不成功的。因为缺少QT必要的库文件(备注:如果你的电脑已经设置了QT的安装环境变量是可以的,但是,你把这个文件拷贝到其他电脑上是不能运行的)。将这个.exe文件拷贝出来,创建一个单独的文件夹,放在这个文件夹下

在win10下,搜索QT,如下图:

 

打开,输入以下命令:

接着输入命令行,cd /d 路径(指的是需要打包的exe程序目录,就是刚才拷贝出来的exe程序所在的目录),回车后

输入如下命令行:windeployqt 程序名 敲击回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件: 

 

这时我们看程序目录如下: 

 此时,在当前目录下是可以点击运行exe程序的,说明库文件都已经拷贝到当前目录下了。现在只需要将这一堆文件进行打包。

打开运行Enigma Virtual Box:

文件可以托选,选择所有文件后,直接拖入界面框内。注意是要所有文件和文件夹全部拖进。示意图如下: 

 

在【Files Options】中可以选择是否将文件压缩

 

然后点击Process开始打包。 

 

打包完成后,会生成一个EXE文件,这就是最终可以单独运行的可执行程序

参考:

http://www.javashuo.com/article/p-orenujeh-gn.html

http://www.javashuo.com/article/p-dzrwdsur-kc.html