您当前的位置: 首页 >  qt

龚建波

暂无认证

  • 2浏览

    0关注

    313博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

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

龚建波 发布时间:2018-06-30 00:30:15 ,浏览量:2

以前不知道还有单文件封包工具这种好东西,工具软件都是用静态编译来生成独立的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#那样调用本地的库就好了

关注
打赏
1655829268
查看更多评论
立即登录/注册

微信扫码登录

0.0541s