将visual sdudio+Qt5.12 制作的程序打包成单个exe

在GitHub上下载了个qt程序,由于C++不太会,经过安装qt、修改编码等一系列操作终于可以运行了。

生成的exe在运行时依赖很多dll或者图片文件,直接拷贝到其他电脑上无法运行,可以将依赖的dll一块打包成单个exe文件,具体操作如下。

工具: 

1.Enigma Virtual Box虚拟文件打包工具

2.Qt 5.12.3 (MSVC 2017 64-bit) 

在安装Qt时自动带的有。

 

 

 

步骤:

1. 用visual studio 编译出发布版的exe文件

 

 

 调试后将生成release文件夹,里面有目标exe文件。

 

 

 2. 将这个目标exe文件拷贝到另一个空文件夹

 

 

 3. 将此exe依赖的dll文件用Qt 5.12.3 (MSVC 2017 64-bit)拉取到00这个文件

打开Qt 5.12.3 (MSVC 2017 64-bit),是一个命令提示符窗口:

 

 

 将目录切换到00文件夹,执行windeployqt  flowers.exe (目标exe文件),这样会将依赖的dll拉取到这个文件夹中。

 

 执行之后文件夹里内容:

 

 拉取完dll后点击flowers.exe是可以执行的,未拉取的话无法执行,提示缺少dll。

4. 用Enigma Virtual Box工具将flowers.exe与依赖的dll一块打包成单个exe文件

打开Enigma Virtual Box工具,选择要打包的exe和依赖的dll:

 

 

 

 将文件夹中原exe文件移除:

 

 勾选压缩选项:

 

 5. 执行打包

点击右下方的打包,打包完退出工具即可。

 

 

然后文件夹中就会出现不依赖dll单个的exe文件,这样就直接将单个exe可以拷贝到其他电脑上运行了。

 

posted @ 2020-02-14 16:50  panday  阅读(1038)  评论(0编辑  收藏  举报