7

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

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

4

1 回答 1

9

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

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

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

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

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

您需要将插件静态链接到应用程序的发布版本

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

于 2013-09-22T11:46:39.220 回答