【问题标题】:Making static Build(standalone application) with Qt [duplicate]使用 Qt 制作静态构建(独立应用程序)[重复]
【发布时间】:2013-09-22 06:11:21
【问题描述】:

不久前我开始使用 Qt。我已经下载了 windows 32bit 版本(666mB),没有别的了。我做了一个简单的计算器应用程序。 该应用程序在我从 Qt 创建器运行时运行,但构建的 exe 显示缺少 dll。 我不想使用依赖walker。我想创建一个静态构建(我读过它,但我无法让它运行)

我的目标是制作一个功能齐全的计算器(无需安装程序),而无需手动添加依赖项。 我已阅读过有关 configure -static 的信息,但我不明白如何使用它。 提前感谢您的帮助。

【问题讨论】:

标签: c++ qt static


【解决方案1】:

您需要自己从源代码构建 Qt。您将肯定想要维护两个 Qt 版本。对于调试,您应该使用共享构建,因为它具有合理的链接时间。对于发布,您应该使用静态构建,绝对使用链接时间代码生成来保持可执行文件更小,并期望构建一个简单的应用程序大约需要一分钟。这是因为“链接”确实会为 Qt 和您的应用程序生成机器代码,并且代码是特定于您的应用程序的,因此通常会使其性能更好。

在不为源的多个副本浪费磁盘空间的情况下执行此操作的方法是使用源外 Qt 构建。到目前为止,静态 Qt 5.1.1 构建已损坏,因此以下内容仅适用于 Qt 4 和 Visual Studio。

  1. 将源下载到C:\Qt\4.8.5

  2. 创建C:\Qt\4.8.5-shared。打开 Visual Studio 控制台和 CD,然后运行 ​​C:\Qt\4.8.5\configure.exe -shared 以及您可能拥有的任何其他选项。然后使用nmakejom 构建它。

  3. 创建C:\Qt\4.8.5-static。打开 Visual Studio 控制台和 CD,然后运行 ​​C:\Qt\4.8.5\configure.exe -static -ltcg 以及您可能拥有的任何其他选项。然后使用nmakejom 构建它。

您需要link the plugins statically to your release build of the application

Qt Creator 可以轻松地并行使用多个 Qt 构建。我经常使用 Qt 4 和 Qt 5 进行构建,包括静态的和共享的,并对 Qt 5 进行本地修复以使静态构建工作。

【讨论】:

  • 你能澄清一下静态 Qt 5.1.1 构建是如何被破坏的吗?你知道它是否在 5.2 中修复了吗?我也很想知道您为使静态构建工作而进行了哪些本地修复。为答案+1。
  • @JBentley 见this answer
猜你喜欢
  • 1970-01-01
  • 2014-11-02
  • 2017-02-24
  • 1970-01-01
  • 2010-09-06
  • 2018-09-21
  • 1970-01-01
  • 2012-02-04
  • 1970-01-01
相关资源
最近更新 更多