如何精简 Qt 库以删除应用程序未使用的内容?

发布于 2024-11-25 20:42:34 字数 237 浏览 1 评论 0原文

我正在发布一个编译了 Qt 库的独立 Linux 应用程序

是否有一个工具可以扫描我的源代码,查看我的应用程序使用哪些类/方法,然后从 Qt 源代码中剔除不必要/未使用的内容,并编译为我的应用程序量身定制的 Qt 库,而不会产生任何额外的膨胀?当然,这是最好的情况。 但是,最接近的现有解决方案是什么,可以让我使用编译的 qt 库使我的 Linux 独立应用程序尽可能精简?

I'm shipping a stand-alone Linux application with Qt libraries compiled-in.

Is there a tool which would scan my source code, see which classes/methods my app uses, then it would pluck the unnecessary/unused stuff out of the Qt source code and compile Qt libraries tailor-made for my application without any extra bloat? This is the best case scenario, of course.
But what is the closest existing solution that would allow me to make my Linux stand-alone app with compiled-in qt libs as slim as possible?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

穿越时光隧道 2024-12-02 20:42:34

是否有一个工具可以扫描我的源代码,查看我的应用程序使用哪些类/方法,然后它会从 Qt 源代码中剔除不必要/未使用的内容,并编译为我的应用程序量身定制的 Qt 库,而无需任何额外膨胀?

链接器已为您完成此操作。如果您静态链接到 Qt 库,则只有您调用的函数的代码才会嵌入到可执行文件中。

您不需要外部软件来执行此操作。您的开发机器上的 Qt 库有多大并不重要。

Is there a tool which would scan my source code, see which classes/methods my app uses, then it would pluck the unnecessary/unused stuff out of the Qt source code and compile Qt libraries tailor-made for my application without any extra bloat?

The linker already does this for you. If you're statically linking to the Qt libraries, then only the code for the functions that you're calling will be embedded into the executable.

You don't need an external piece of software to do this. It doesn't matter how big the Qt libraries are on your development machine.

浅黛梨妆こ 2024-12-02 20:42:34

要进一步减小程序的大小,请尝试 UPX - 它将使您的应用程序变得更小。

for additional size reduction of your program try UPX - it will make your application even smaller.

暮光沉寂 2024-12-02 20:42:34

什么是最接近的现有解决方案[...]以使我的带有编译的 Qt 库的 Linux 独立应用程序尽可能精简?

特别是对于 Qt,自 2019 年初以来,出现了构建过程配置选项 -ltcg 来启用链接时代码生成。 根据Qt公司博客,它允许15静态链接的 Qt 的大小减少了 %,动态链接的 Qt 库的大小虽小但仍然明显。

what is the closest existing solution […] to make my Linux stand-alone app with compiled-in Qt libs as slim as possible?

Specifically for Qt, since early 2019 there is the build process configuration option -ltcg to enable link-time code generation. According to the Qt company blog, it allows 15% size reduction for statically linked Qt and a smaller but still noticable effect for dynamically linked Qt libraries.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文