在Ubuntu Linux上构建QT库

Vin*_*nod 11 ubuntu qt build

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

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

我发布了make命令差不多24小时(在第二次尝试中),构建过程仍在继续.终端也没有显示任何错误.

在Ubuntu Linux上构建QT库真的花了这么多时间,或者我错过了什么.

the*_*ill 19

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

所以首先要做的是make -j做并行构建.如果这仍然需要太长时间,那么尝试减少Qt生成的库.你需要QtWebKit吗?如果您计划在应用程序中使用嵌入式Web浏览器,那么您将需要它.如果没有,那么你可以将构建时间减半.键入configure --help以查看选项.一些可以减少构建时间的有用的是:

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

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

如果你不得不在这个亚马逊实例中支付时间,那么另一个选择是创建一个本地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
Run Code Online (Sandbox Code Playgroud)

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