繁体   English   中英

减少Qt GUI应用程序的大小

[英]Decrease Qt GUI application size

我正在学习使用Qt Creator开发应用程序。 我在Windows下构建了一个简单的应用程序,取决于使用mingwm10.dll,QtCore4.dll,QtGui4.dll,QtNetwork4.dll。 在QtQui4.dll之外,我只使用了几个小部件,并且不需要所有其他的...是否可以缩小QtGui4.dll的大小或者做其他事情以减少应用程序的部署大小? 静态链接怎么样? 它会嵌入整个dll,还是只使用它的一部分? 还有可能Qt静态地和一些动态链接一些dll吗?

通过删除某些功能无法缩小QtGui4.dll。 奇趣科技正在研究这个问题 ,但好的解决方案似乎相当遥远:

静态链接,我认为它在Windows上很成问题。 每次我尝试,这都是一场噩梦。

所以,看起来你常常遇到常规DLL。 你唯一可以做的就是(我为我的Qt应用做的):

  • 使用UPX压缩你的DLL

要么

  • 在安装程序中使用强力压缩

如果你已经UPX你的dll,你不能通过安装程序压缩进一步减少它,但这可以减少其他文件。

最好的方法是使用configure手动配置Qt库。 通过发行

configure --help

您将看到许多可能有助于减少磁盘和内存占用的选项。 例如

--no-stl
--no-exceptions

可以减少应用程序的占用空间。 您还可以修改mkspec以使用更积极的编译器优化标志。

如果你静态链接你最终得到一个1.5GB的exe,你牺牲了一些功能,如插件。 所以除非你不想发布dll,否则它并不值得。 但是,是的,您可以尝试Henrik的建议,也可以排除Webkit,这可能是最大的代码块。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM