QT打包的两种方式:
- 一个是QT5自带的windeployqt(不需要下载安装),它可以找到程序(exe)用到的所有库文件,并且都拷贝到exe程序的当前文件。此时打包的exe较小,需要和拷贝进来的文件放一起运行,也可以将这些文件再次打包成一个大的exe文件,此时用的第二种打包方式。
- 另一个是Engima Virtual Box【这一步可以不用】
windows下qt打包exe发布
-
打开一个Qt程序,release方式运行一次
这时你的工程项目文件夹下,会生成一个关于release的文件夹:
-
打开关于release相关的文件夹,找到该目录下release目录下的.exe程序。此时你点击是运行不成功的。因为缺少QT必要的库文件。将这个.exe文件拷贝出来,创建一个单独的文件夹,放在这个文件夹下。
-
在win10下,搜索QT,如下图:
-
接着输入命令行,cd /d 路径(指的是需要打包的exe程序目录,就是刚才拷贝出来的exe程序所在的目录),回车后:
-
输入如下命令行:windeployqt 程序名 敲击回车。这一步操作是将所需的库文件全都拷贝到exe程序的当前文件:
这时候我们看程序目录如下:
此时,在当前目录下是可以点击运行exe程序的,说明库文件都已经拷贝到当前目录下了。现在只需要将这一堆文件进行打包。
继续将第一步生成的一堆文件打包【这一步可以不要】
- 打开运行Enigma Virtual Box:
按照上图的示意,添加路径和文件如下图。文件可以托选,选择所有文件后,直接拖入界面框内。注意是要所有文件和文件夹全部拖进。示意图如下:
在【Files Options】中可以选择是否将文件压缩:
然后点击Process开始打包。
打包完成后,我们的工作就完成了,去程序打包后的路径点击运行吧。
遇到的错误
使用Qt 5.14.0自带的windeployqt打包程序提示Unable to find Platform Plugin的解决方法
查得官方链接Qt 5.14.0已知问题确定是Qt 5.14.0的问题
所以解决方法:
回滚至5.13.2
- 等待Qt官方更新5.14.1
- 也是费了半天功夫…才找到