QT之程序打包发布

1.引言QT开发完之后 , 如果直接把exe文件发给别人 , 是没法直接用的 , 因为会提示缺少很多库 , 一种方法是把这些库拷贝出来 , 一起发过去 , 但是这样不方便且文件很大 , 所以需要一种文件打包发布的方法 。
2.环境1)QT 5.12.3版本 , QT 4.x版本不行 。
2)Enigma Virtual Box
enigmaprotector.com/en/downloads.html
QT之程序打包发布文章插图
3.具体步骤1)打开一个QT程序 , 以release方式运行一次 。 操作如下图:
QT之程序打包发布文章插图
2)这时你的工程项目文件夹下 , 会生成一个关于release的文件夹 , 打开关于release相关的文件夹 , 找到该目录下release目录下的.exe程序 。 此时你点击是运行不成功的 。 因为缺少QT必要的库文件 。
QT之程序打包发布文章插图
将这个.exe文件拷贝出来 , 创建一个单独的文件夹 , 放在这个文件夹下 , 比如桌面的test文件夹里 。
QT之程序打包发布文章插图
【QT之程序打包发布】3)在开始菜单中 , 打开QT命令行窗口
QT之程序打包发布文章插图
QT之程序打包发布文章插图
接着输入命令行 , cd /d 路径(指的是需要打包的exe程序目录 , 就是刚才拷贝出来的exe程序所在的目录) , 回车
cd /d C:/Users/wangwnexue/Desktop/test
QT之程序打包发布文章插图
4)输入如下命令行:windeployqt 程序名 敲击回车 。 这一步操作是将所需的库文件全都拷贝到exe程序的当前文件:
QT之程序打包发布文章插图
QT之程序打包发布文章插图
此时 , 在当前目录下是可以点击运行exe程序的 , 说明库文件都已经拷贝到当前目录下了 。 这时就可以执行将这一堆文件进行打包的操作了 , 需要使用Enigma Virtual Box工具 。
5)打开运行Enigma Virtual Box
第一步选择上述的exe文件
QT之程序打包发布文章插图
第二步:添加路径和文件如下图 。 选择所有文件后 , 注意是要所有文件和文件夹全部拖进 。 示意图如下:
QT之程序打包发布文章插图
QT之程序打包发布文章插图
结果如下:
QT之程序打包发布文章插图
第3步:点击在【Files Options】中可以选择是否将文件压缩:
QT之程序打包发布文章插图
第4步:最后点击Process开始打包
QT之程序打包发布文章插图
QT之程序打包发布文章插图
生成testweb_boxed.exe就可以直接打开使用了 。
4.问题总结在实际操作过程中遇到了以下几个问题
1) 提示windeployqt不是内部或外部命令
QT之程序打包发布文章插图
原因是:一开始我电脑里用的不是QT5.x版本 , 所以它是没有的 , 装了新版本的就有了 。
2) 提示FaceImport.exe does not seem to be a Qt executable.
原因是:我装了QT最新版本 , 但是编译器用的还是老版本 , 需要改成最新的 , 就可以了 。
QT之程序打包发布文章插图