一般我们在开发过程中,我们可以直接通过开发工具预览我们的程序。但是当要把开发好的程序给别人使用的时候,我们就需要把程序打包成可执行的exe,然后把这个exe文件和其他相关的文件一起发给别人,这样别人就可以使用了。
以前都是用VS+C#开发桌面程序,现在换成Qt后,发现Qt的打包过程和VS不太一样。特意做一下记录,以下就是Qt打包的过程。
一、生成可独立运行的exe
(一)、编译程序的Release版本
1、切换编译方式为Release
2、生成Release版本的exe文件
1)点击图中这两个地方任意一个都可以,1是编译之后运行,2是只进行编译。完成后会在对应的编译目录下生成一个exe文件。(注:这一步生成的exe文件还不能独立运行,只有开发工具可以运行)。
(二)、拷贝exe文件
1)从编译目录下把对应的exe文件拷贝到一个我们指定的目录中;
拷贝效果如下:
(三)、通过windeployqt导入相应的依赖
1)确定编译使用的构建套件版本
2)打开终端命令
3)在终端中输入windeployqt E:\qtexe\yuboweb\yuboWeb.exe,然后回车(或是在终端中把路径切换到exe所在的目录,然后直接输入windeployqt yuboWeb.exe)。
4)执行完成后会把所有需要的依赖自动导入进来,现在双击yuboWeb.exe可以直接运行程序了
注意:
1)在我开发的过程中,有的工程用到了MySQL,在开发过程中连接数据库没有任何问题,但是打包完成后发现无法连接到数据库,提示驱动没有加载。最后确定是自动导入的驱动版本不匹配,自己拷入正确的版本即可解决问题。数据库的驱动版本匹配是Qt开发中一个容易出错的地方,后面会单独写一篇笔记来记录这个问题。
二、把程序打包成一个可运行的exe
经过上面的步骤之后,我们得到了能执行的exe以及和它相关的所有依赖。但是我们也能看出,上一个步骤完成后我们得到大量的文件,使用或是传输起来不太方便,那么能不能把所有的文件打包到一起呢?答案是可以的,但是我们需要用到一个叫做Engima Virtual Box的工具。
下载地址:Enigma Virtual Box
安装完成后可以直接双击打开使用。
(一)、导入主程序
(二)、新增资源文件夹
注意: 增加文件夹时,目录应选要打包的exe文件的上一级目录,即%DEFAULT FOLDER%
目录的下一级目录包含要打包的exe文件
(三)、文件选项设置
(四)、执行封包
点击执行封包后,等待打包即可。
三、把工程打包成可安装程序
暂时还没有测试这一步,有需要可以参考 QT打包exe可执行程序及exe安装包的笔记_qt打包成可执行程序_罗伯特祥的博客-CSDN博客