Qt程序通过enigma virtual box制作成单文件可执行程序*.exe(封包)

以前不知道还有单文件封包工具这种好东西,工具软件都是用静态编译来生成独立的exe,有了封包工具,再也不用费心去静态编译了,只需要每次发布的时候封包即可。

step-0

首先,Qt生成exe之后若没有带依赖库是不能直接双击运行的。

 

step-1

Qt提供的windeployqt命令可以将Qt提供的库打包,只需要用Qt自带的命令行工具(开始菜单里Qt目录下能找到那个黑框框),使用此命令就能将依赖库打包到一起。

 

step-2

库和exe打包到一起虽然能双击exe运行了,但是带一大堆动态库不大方便,于是就需要把他们合成为一个*.exe文件。我们可以静态编译Qt程序,但需要换一个版本就要编译一下Qt源码,因为开源版默认带的库是动态链接的,而且Qt开源版用的LGPL协议其实也没让你静态编译,需要购买商用许可。相较于静态编译,使用封包工具就方便多了,至少不用跟着版本静态编译Qt源码,还能把其他非Qt动态库也放一起。

我用的是enigma virtual box这个封包工具,操作比较简单,官网也有免费版 http://enigmaprotector.com/en/downloads.html

下载之后直接安装,然后打开

step-3

有了windeployqt打包的动态库,只需要三步就可以封包了

先点击浏览,选择目标*.exe程序

然后点击左下角增加,我是直接选的这个exe的文件夹,然后把exe从文件列表中移除

最后点击右下角执行封包,就ok了

step-4

最后,直接点击生成的那个*.exe就可以运行了,Qt唯一不爽的就是他很多实现不是直接用的系统API,二是自己封装了一层,这导致文件太大,如果可以像mfc或者c#那样调用本地的库就好了

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龚建波

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值