如何将Qt编译为静态

问题描述 投票:0回答:2

我目前正在用 Qt 编写代码。如何静态编译代码?

从Qt文档我知道了以下步骤

1) Visual Studio 2008 -> commandPrompt -> QtDir -> 配置-static -> nmake

但是,它占用了17 GB,最后在完成之前退出,并提示“空间不足”。

有没有简单的方法将 Qt 应用程序编译为独立程序?

c++ qt user-interface
2个回答
8
投票

您已经使用了唯一可能的方法:将源代码编译为静态。

一些对磁盘大小影响非常大的事情(这似乎是这里的问题),以及相应的配置参数:

  1. 禁用调试:
    -release
  2. 禁用不需要的模块,尤其是 QtWebKit:
    -no-webkit -no-script -no-scripttools -no-qt3support -nomake demos -nomake tools -nomake examples
  3. 禁用 LTCG 支持,这会产生生成巨大静态库的令人讨厌的副作用:
    no-ltcg

这些应该有助于将构建尺寸保持在最小。


0
投票

对于更现代的 Qt 版本(即 Qt 6.*),上面提到的大小缩减标志将不起作用。请参阅我的回答here,了解减少编译时间/大小的方法的完整列表。

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.