我正尝试按照文档中提到的指示,在Ubuntu Linux上构建QT库4.8.2。
这是我第二次尝试构建...我之前也尝试过,当构建过程经过12-13小时后仍未完成时,我认为出了问题,所以我从头开始。
现在已经过去将近24个小时,我已发出make命令(第二次尝试),构建过程仍在继续。终端没有显示任何错误。
在Ubuntu Linux上构建QT库真的需要这么长时间吗,还是我遗漏了什么?
我正尝试按照文档中提到的指示,在Ubuntu Linux上构建QT库4.8.2。
这是我第二次尝试构建...我之前也尝试过,当构建过程经过12-13小时后仍未完成时,我认为出了问题,所以我从头开始。
现在已经过去将近24个小时,我已发出make命令(第二次尝试),构建过程仍在继续。终端没有显示任何错误。
在Ubuntu Linux上构建QT库真的需要这么长时间吗,还是我遗漏了什么?
因此,首先尝试的是使用make -j
进行并行构建。 如果仍然花费太长时间,则尝试精简Qt生成的库。 例如,您是否需要QtWebKit? 如果计划在应用程序中使用嵌入式Web浏览器,则需要它。 如果不需要,则可以将构建时间缩短一半。 输入configure --help
以查看options。 可以减少构建时间的一些有用选项是:
注意:以下某些选项在Qt5中不再适用
如果您必须支付此Amazon实例中的时间成本,则另一种选择是在本地创建一个Ubuntu机器(在空闲机器或虚拟机中),并在那里调整选项,直到获得可行的配置,然后在Amazon实例上使用该构建配置。
编辑:
在Qt5中,该项目改为使用git子模块。因此,如果您是从git checkout构建,则默认行为是克隆所有子模块,如果存在您不需要的模块,则会大大增加构建时间。qt5存储库中有一个名为init-repository
的脚本。您可以使用它来修剪本地存储库,仅包含您需要的子模块。例如:git clone https://git.gitorious.org/qt/qt5.git
cd qt5
./init-repository --module-subset="qtbase qtdeclarative qtquick1"
configure --your-options-here
make -j
编译Qt 4.7所需的内存要求为1.2 Gb(主要由QWebKit链接阶段需求),如果您没有足够的内存,请创建一个额外的交换文件(请参见https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-swap-creating-file.html)。