qt - 在 Ubuntu Linux 上构建 QT 库

我正在尝试按照 documentation 中提到的说明在 Ubuntu Linux 上构建 QT 库 4.8.2。 .

这是我第二次尝试构建...我之前也尝试过,当构建过程在 12-13 小时后仍未完成时,我认为有问题,所以我从头开始。

我发出 make 命令已经快 24 小时了(在第二次尝试中),构建过程仍在继续。终端也没有显示任何错误。

在 Ubuntu Linux 上构建 QT 库真的需要这么多时间还是我错过了什么。

最佳答案

如果您只执行默认的非并行构建,即使在快速系统上构建 Qt 也需要几个小时。默认情况下,它还会引入许多您可能不需要的库。

所以首先要尝试的是 make -j 来进行并行构建。如果这仍然花费太长时间,那么尝试精简 Qt 生成的库。例如,您需要 QtWebKit 吗?如果您计划在您的应用程序中使用嵌入式 Web 浏览器,那么您会想要它。如果没有,那么您可以将构建时间减半。输入 configure --help 以查看 options .一些可以减少构建时间的有用方法是:

注意:以下某些选项在 Qt5 中不再适用

  • -fast - 如果您只是使用 Qt 而不是开发 Qt 本身,请使用它
  • -no-webkit - 如果您不需要嵌入式网络浏览器,这将产生巨大的影响
  • -release - 如果您不需要调试库,那么这会更快
  • -no-qt3-support - 新项目不需要这个
  • -nomake 示例 - 不要构建示例
  • -nomake 演示 - 不构建演示
  • -no-declarative - 如果您不使用 QtQuick API,则省略此
  • -nomake docs - 不要构建文档(这样可以节省大量时间)

如果您必须为这个 Amazon 实例的时间付费,那么另一种选择是创建一个本地 Ubuntu 机器(在备用机器或虚拟机中)并在那里调整选项,直到您得到可以工作的东西,然后在您的 Amazon 实例上使用该构建配置。

编辑:

在 Qt5 中,项目更改为使用 git 子模块,因此如果您从 git checkout 构建,则默认行为是克隆所有子模块,如果有模块您不这样做,这将大大增加您的构建时间需要。有一个脚本 init-repository 是 qt5 存储库的一部分。您可以使用它来修剪本地存储库以仅包含您需要的子模块。比如:

git clone https://git.gitorious.org/qt/qt5.git
cd qt5
./init-repository --module-subset="qtbase qtdeclarative qtquick1"
configure --your-options-here
make -j

在我的机器上,我可以在大约 10 分钟内完成 qtbase 的基本构建

https://stackoverflow.com/questions/11662529/

相关文章:

android - 错误 JSON.simple : java. util.zip.ZipExcep

maven-2 - 在 Maven 中覆盖 'clean' 生命周期

android - 使用ant构建Android项目时如何在build.properties中指定多

build - 如何在 intellij idea 中构建一个 java swing 应用程序

build - cmake 创建一个共享对象

java - ANT 等待文件创建

build - 如何重建已下载的已编辑 perl6 模块?

android - 使用 Eclipse 从命令行构建 Android 项目

xcode - 如何在 Xcode 项目包中排除图像文件,有条件地用于发布版本?

ios - Xcode 4.5 中的代码签名是如何完成的