Qt 官方开发环境使用的动态链接库方式,在发布生成的exe程序时,需要复制一大堆 dll,Qt 官方开发环境里自带了一个工具:windeployqt.exe。在Qt安装目录如:C:QtQt5.7.05.7mingw53_32inwindeployqt.exe。
在集成开发环境 QtCreator 中可选择 “Qt Widgets Application” 或 “Qt Quick Application” 两种方式生成图形界面应用程序。
1. Qt Widgets Application 方式
把生成的exe程序,复制到一个文件夹下,如 D:Test est.exe.
打开cmd, cd D:Test
D:Test C:QtQt5.7.05.7mingw53_32inwindeployqt.exe test.exe
把程序需要的dll复制到此文件下。
2.Qt Quick Application
D:Test C:QtQt5.7.05.7mingw53_32inwindeployqt.exe test.exe --qmldir C:QtQt5.7.05.7mingw53_32qml
这样程序下有很多dll,程序占用的空间又很大。有个很好用的打包软件 Enigma Virtual Box(官方有免费版本可用),可以把依赖的dll和exe打包成一个exe.
把程序依赖的所有dll和文件复制到一个文件夹下。
打开Enigma Virtual Box,指定打包程序exe,全选程序依赖的dll和文件拖放到 Enigma Virtual Box文件添加里面。
打开文件选项,勾选"启用文件虚拟化" 和 "压缩文件"
点击执行封包