首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使Qt应用程序变小?

如何使Qt应用程序变小?
EN

Stack Overflow用户
提问于 2014-02-13 07:55:10
回答 1查看 1.6K关注 0票数 3

我对qt很陌生,我做了一个非常简单的qt程序,因为我没有商业许可证,所以我使用了dependency,并将qtsdk文件夹中的所有.dlls添加到了我的发布文件夹中。它只起作用了,当我检查它的大小时,非常fine.But的问题是,如何使它成为smaller.Also,解释静态库和动态库之间的区别,以及它如何影响application.How的大小--很多方法可以使qt应用更小,而不需要购买商业license.Any帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-13 08:28:52

通常,您无法显著减少应用程序的大小及其依赖关系。有几件事我认为你还没有考虑过,或者,如果有必要的话,你可以这样做:

  1. 您不需要所有Qt。根据您使用的Qt的哪些部分,您可以省略诸如QtWebKit和其他类的内容。这很可能会将您的应用程序重新分配大小减少一半。
  2. 如果您的可执行文件很大,请使用选项进行编译,以优化大小而不是速度。根据应用程序的不同,最终的性能应该接近或甚至优于通常的优化操作。这是GCC的-Os和MSVC的/Os
  3. 删除调试符号的DLL和可执行文件。发布版本应该已经自动完成了。我希望你不要抱怨调试二进制文件的大小.
  4. 使用类似于UPX的东西压缩二进制文件。不过,这只是化妆品,而且是与一些微妙的缺点配套的。
  5. 用上面的选项重新编译Qt,这可能会使Qt的总大小减少5-10%。您还可以禁用您不需要的特性(如未使用的Qt样式),从而进一步减小DLL的大小。但这很乏味,而且可能不值得,因为无论何时更新到最新版本,都需要重新编译Qt。

尽管如此,如果您的代码是GPL许可的,那么没有什么可以阻止您静态地链接Qt。您需要自己编译静态Qt库,或者在某个地方找到它们。通常,静态链接将增加可执行文件的大小,但可能允许编译器从通常仍然存在于DLL版本的映像中省略未使用的代码。因此,是的,静态链接可能会使应用程序的总大小变小。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21748228

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档