Qt程序通过enigma virtual box工具封包,生成单独的*.exe文件
之前不知道还有封包工具这种好东西,傻傻的用静态编译,后来偶然发现还有这类实用的工具,再也不用费心去静态编译了,只需要每次发布的时候封包就好了。
step-0
首先,qt生成的exe文件生成之后若没有设置环境变量是不能直接运行的
step-1
后来,我知道了windeployqt这个打包命令,只需要用qt自带的命令行工具(开始菜单里qt目录下能找到那个黑框框),使用这个方法就能将依赖库打包到一起。
step-2
打包到一起虽然能直接运行了,但是带一大堆动态库太不方便了,于是就需要把他们合成为一个*.exe文件。之前我只知道用静态编译,现在感觉还是封包工具方便,至少不用换一个版本就要编译一下Qt源码。
我用的是enigma virtual box这个封包工具,操作比较简单,
官网也有免费版 http://enigmaprotector.com/en/downloads.html
下载之后直接安装,然后打开
step-3
有了windeployqt打包的动态库,只需要三步就可以封包了
先点击浏览,选择目标*.exe程序
然后点击左下角增加,我是直接选的这个exe的文件夹,然后把exe从文件列表中移除
最后点击右下角执行封包,就ok了
step-4
最后,直接点击生成的那个*.exe就可以运行了,qt唯一不爽的就是得用自己的库导致文件太大,如果可以像mfc或者c#那样调用本地的库就好了