将visual sdudio+Qt5.12 制作的程序打包成单个exe
在GitHub上下载了个qt程序,由于C++不太会,经过安装qt、修改编码等一系列操作终于可以运行了。
生成的exe在运行时依赖很多dll或者图片文件,直接拷贝到其他电脑上无法运行,可以将依赖的dll一块打包成单个exe文件,具体操作如下。
工具:
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可以拷贝到其他电脑上运行了。