因工作所需,近期,在学习QT5的过程中,想把自己写的工程程序给打包发布出来,在任何一台windows系统都能运行,不局限于电脑是否有安装QT。
我的使用的环境:使用的QT版本是QT5.8.0。电脑windows系统是win7旗舰版。最后的打包教程,亲测可用。个人认为,即便是不同的windows操作系统,不同的QT版本,也是可以的借鉴的。
我所使用的打包工具:一个是QT5自带的windeployqt(这个大家不需要下载安装),另外一个是Engima Virtual Box,这是下载链接Engima Virtual Box,软件图标如下:
。
做好这些准备工作之后,操作步骤如下:
- 假定现在已经完成了qt界面的设计(我的叫opencv-label),如下图所示
- 在项目界面进行设置
具体操作要点如图中红色方框所示:1;2;3;4;点击“自定义处理步骤”;
通过Qt自带的windeployqt工具进行部署设置。方法如下:
1)在命令栏输入:windeployqt
2)在参数栏输入:%{buildDir}/%{CurrentBuild:Type}/%{CurrentProject:Name}.exe
3)在工作目录栏输入:%{buildDir}
- 转到release版本,重新构建编译项目,并运行程序。
- 查看生成的release版本文件包,里边有一个relase子文件夹。
- 下载Enigma Virtual Box工具
它是可以将多个文件封装到应用程序主文件,从而制作成为单执行文件的绿色软件。 - 使用Enigma Virtual Box工具进行打包
1)在D盘新建一个文件夹(文件名:demo),将opencv-label.exe文件复制该文件夹中。
2)导入导出路径选择。如下图所示。
3)拖拽依赖文件到工具中
打开release文件夹。使用Ctrl+A快捷键选中除了主程序exe文件外的所有文件,如下图
将选中文件拖拽到工具的空白窗口处。在弹出的窗口点击OK即可,无需更改选项。
拖拽后效果如下图。
执行封包,点击执行封包按钮。出现如下提示说明封包成功。
封包成功后,demo文件夹增加一个名为opencv-label_boxed.exe文件。该文件便是要发布的程序。