2010-11-06 101 views
4

我目前在Qt中编写代码。如何静态编译代码?如何将Qt编译为静态

从Qt的文档我才知道接下来的步骤

1)Visual Studio 2008中 - > commandPrompt - > QTDIR - >配置 - 静态 - > NMAKE

但是,它花了17 GB,并在在完成之前退出,表明“空间不够”。

是否有任何简单的方法来编译Qt应用程序作为一个独立的程序?

+6

(1)Google知道。 (2)在提及节目时说“代码”应该是应受惩罚的罪行。 – delnan 2010-11-06 11:53:58

+0

@delnan我编辑了“代码” – prabhakaran 2010-11-06 13:37:03

+0

如果你正在静态链接Qt,你应该知道潜在的许可问题。上次我检查诺基亚似乎遵循静态链接到LGPL库的结果将结果程序放在LGPL下的观点。 – 2011-04-26 10:07:30

回答

5

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

那些对磁盘的大小非常大的影响(这似乎是这里的问题)有些东西,相应的配置参数:

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

这些应该有助于将构建大小降至最低。

+0

@rubenvb您可以对所需的磁盘空间进行粗略估计 – prabhakaran 2010-11-06 13:36:22

+0

对于32位编译,我会说小于7 GB,但这是一个非常粗略的估计。之后运行'del/S/Q * .o'就可以删除大部分创建的文件,这会删除所有的目标文件。 – rubenvb 2010-11-06 14:03:34

+0

@rubenvb但没有目标文件它怎么运行? – prabhakaran 2010-11-06 17:13:44