13

ドキュメントに記載されている手順に従って、Ubuntu Linux で QT ライブラリ 4.8.2 をビルドしようとしています。

ビルドを試みるのはこれが 2 回目です... 以前にも試しましたが、ビルド プロセスが 12 ~ 13 時間経っても完了しなかったとき、何かがおかしいと思ったので、最初からやり直しました。

make コマンドを発行してからほぼ 24 時間経ちました (2 回目の試行で) ビルド プロセスはまだ進行中です。ターミナルもエラーを表示していません。

Ubuntu Linux で QT ライブラリをビルドするのに本当にこれほど時間がかかるのでしょうか。

4

2 に答える 2

21

デフォルトの非並列ビルドのみを実行した場合、Qt のビルドには高速なシステムでも数時間かかります。デフォルトでは、必要のない多くのライブラリも取り込まれます。

したがって、最初に試みることはmake -j、並列ビルドを行うことです。それでも時間がかかりすぎる場合は、Qt が生成するライブラリを縮小してみてください。たとえば、QtWebKit が必要ですか? アプリケーションに組み込みの Web ブラウザーを使用する予定がある場合は、それが必要になります。そうでない場合は、ビルドの時間を半分にすることができます。入力してオプションconfigure --helpを表示します。ビルド時間を短縮できるいくつかの便利なものは次のとおりです。

注: 次のオプションの一部は、Qt5 では適用できなくなりました

  • -fast - Qt 自体を開発するのではなく、Qt だけを使用している場合に使用します。
  • -no-webkit - 組み込みの Web ブラウザーが必要ない場合、これは大きな違いになります。
  • -release - デバッグ ライブラリが必要ない場合は、このほうが速くなります。
  • -no-qt3-support - 新しいプロジェクトには必要ありません
  • -nomake 例 - 例をビルドしないでください
  • -nomake demos - デモをビルドしないでください
  • -no-declarative - QtQuick API を使用していない場合は、これを省略します
  • -nomake docs - ドキュメントをビルドしません (これにより多くの時間を節約できます)

この Amazon インスタンスで時間料金を支払う必要がある場合は、別のオプションとして、ローカルの Ubuntu マシンを (予備のマシンまたは仮想マシンに) 作成し、機能するものが得られるまでそこでオプションを微調整してから、それを使用します。 Amazon インスタンスで構成を構築します。

編集:

Qt5 では、プロジェクトは git サブモジュールを使用するように変更されたため、git チェックアウトからビルドする場合、デフォルトの動作はすべてのサブモジュールを複製することであり、必要のないモジュールがある場合、ビルド時間が大幅に増加します。init-repositoryqt5 リポジトリの一部であるスクリプトがあります。これを使用して、ローカル リポジトリをトリミングして、必要なサブモジュールのみを含めることができます。たとえば、次のようになります。

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

私のマシンでは、qtbase の基本的なビルドを約 10 分で実行できます。

于 2012-07-26T08:44:28.027 に答える