第一步、编译你的exe
使用release模式,动态编译exe,这个没得说,正常Qt开发的操作。
第二步、获取依赖的dll
在windows下面,动态发布Qt程序,需要获取你需要的dll,然后和exe放到一起发布
有两个工具可以获取你需要的dll
工具1:Dependency Walker
打开此工具直接将你的exe拖拽进去即可,然后窗口中会显示exe依赖的dll
优点是:他会找到发布需要最少的dll,有利于我们做体积小的发布包。
缺点是:虽然我们做程序的一般都会把path系统变量配置好。这个工具比较傻,只会在system32下找,并不能找到所有dll的真正路径。
工具2:Process Explorer
这个工具需要你首先运行exe,然后找到exe的进程,就可看到依赖的dll了
优点是:他会找到所有需要的dll的路径
缺点是:会把一些加载的插件dll和其他一些非必需的dll也显示出来。
你可以选择这两个工具同时使用,或者用其中一个。
第三步、使用虚拟化工具打包压缩
本篇文章的主角出场,他叫:Enigma Virtual Box。名字很猛,翻译过来就是:英格码虚拟盒。
这个工具也非常简单
操作如下:1.设置exe 2.拖拽dll到窗口 3.打开文件选项 4.启用压缩
然后我们点“执行封包”就可以了。