Qt应用程序开发,如何打包发布
阅读本文大概需要6.66分钟
上几篇文章介绍了如何使用Qt快速开发应用程序,既然我们的程序都开发好了,肯定是要给别人使用的,直接把编译后的**.exe给别人,这样是不能用的,今天就来说说如何打包发布。
编译方式
一般程序分为debug和release模式两种。
debug
debug版本可以说是调试版本,其中包含了大量的调试信息,所以编译后的程序比release大。
release
release模式去掉了一些调试信息,适合程序进行打包发布,但是我们在调试的时候,如果选择release模式,打断点是无法响应的。
程序发布方式
静态发布
静态发布意思就是只有一个**.exe文件,没有其他库依赖。这样发布的时候 只有一个文件(当然还可能有数据库或者配置文件),但是更新的时候不方便,我们必须全部更新,项目大的时候还是比较费事的。相比较而言,动态发布就很方便了,那个模块更新了,直接更新对应的模块即可,不用全部更新。
动态发布
动态发布就是我们的可执行文件需要依赖一些动态库,发布的时候需要和这些动态库一起发布的,因为程序运行过程中才决定载入那些库,缺少任何一个都是无法运行的。
下面举例,编写一个测试demo,进行说明。
测试工程
编写一个测试demo,程序窗体输出build test
测试工程
直接编译。
运行结果如上图所示,上面选择的是debug模式!
找到可执行程序路径:
运行
直接双击该StaticTest.exe是无法运行的,提示你找不到Qt5Cored.dll。提示很明显,运行过程中找不到依赖库。
还可以很明显看到其大小:1.3M左右。
动态发布
上述demo编译完成,想发给别人使用,如果你只发布一个StaticTest.exe,那么别人电脑上是无法运行的,也会提示那样的错误。这个时候需要将依赖库拷贝到一起了。
拷贝到一起后,发现可以运行了,直接将当前目录下所有文件拷贝给别人,就可以运行了。
看到所有文件大小了没有,600多M,有没有被吓坏,而且这只是一个简单的demo。
再次编译一个release版本的看看大小
可以看到,只有40M左右,小好多了!
但是看到没有,这么一大堆的dll,烦不烦,少其中一个都是不能运行的。
解决办法只有一个,那就是静态发布,静态发布需要静态编译Qt源码,然后使用静态套件进行编译,编译完后的程序只有一个.exe哦。
静态发布
静态编译
由于篇幅原因,静态编译的方法,以及教程,放到了下一篇来说。
如果你觉得很有帮助,还请支持。
还是那句话,自己不想编译,想要编译好的库,直接私信。
相关文章
- Google Play 商店应用也不安全,许多 Android 应用程序还在用过时版本核心库
- 免费的 Auto Office L1 系统单机版,提高公司运作效率以达到降低成本
- 如何查看过往 Facebook 按赞互动、留言、被标注的动态活动记录?快速找出你要的内容
- 免费素材资源与线上工具整理,2020年12月号
- Claunch 快速启动免费小工具,可自订 Windows 常用的应用程序、文件、资料夹、网站等等
- 免费可商业使用的 Paper-co 高品质纸张素材库(400多款)
- Vector Club 免费向量图档,可商用并支援 AI 及 EPS 档
- SDelete-Gui 可完全删除重要档案,谁都无法恢复的免费工具
- 适合长辈观看的 Youtube 频道列表,手刀帮爸妈订阅起来
- Xbox 推出家长管理 app !! 控制细路打机时间