(これはQt
バージョン> = 4.7.3に適用されます。)Debianボックスでカスタムパラメーターを使用してQt
をビルドしようとしましたが、実際にコンパイルにAGESがかかりました(IIRCは6時間以上)シングルコアCPU)。だから私はその過程で愚かな間違いをしないようにしたかったのです。ただし、リンクが成功した後、_make clean
_ファイルやその他のものをクリーンアップするために_*.o
_を実行することを選択しました。それは悪い考えのようでした!私はその直後に_make install
_を実行しましたが、信じられないかもしれませんが、_make clean
_の試行により、すべてが取得されましたクリーンアッププロセス後に再コンパイルされました!これまで、_make clean
_を使用すると、すべてのオブジェクトファイルや関連するものを削除しても、きちんとインストールできると思っていました。明らかに、Qt
では、状況が異なります。
_Qt 4.7
_の公式ドキュメント(cf. http://qt-project.org/doc/qt-4.7/install-x11.html )では、optional_make clean
_コマンドのシーケンス。私が今知っているように、正当な理由があります。それでも、私はすでに何百ものオープンソースアプリをコンパイルしているので、これを「標準に準拠している」とは言えません。また、_make clean
_が再コンパイルプロセスをトリガーしたり、保持する必要のあるものを削除したりしたことはありません(そこにバグがありました)
make clean
の前にmake install
を実行することが、どういうわけかあなたがすべきことであるという考えをどこで得たのかわかりません。
Autotoolsの正規のINSTALL
ファイルは、プロセスを詳しく説明しています。
./configure
make
make check
(オプション)make install
make installcheck
(オプション)項目6には、次のように書かれています。
make clean
と入力すると、ソースコードディレクトリからプログラムバイナリおよびオブジェクトファイルを削除できます。
(エンファシス鉱山。)
make clean
は、再コンパイルする前に行うことで、クリーンなビルドを取得し、以前の実行からの副産物が残っていないことを確認します。スペースを解放したいがソースと構成を維持したい場合は、aftermake install
で実行できます。インストールする前にしてはいけません。
Qtビルドスクリプトは次のように機能します。
1 First build qmake
2 Generate Makefile for a subprojects (*.pro)
3 Start building libaries, then examples and demo projects
はい、make cleanは、Qtによって生成された設定ファイル以外のすべてをクリーンアップします。
私のトリックは、一番上の* .proファイルの「デモ」と「例」を削除することです。これにより、約40%の時間を節約できます(i5 CPUの場合)。
とにかく、コンパイルを高速化するためにccacheをセットアップすることもできますが、それはバッファリングのために約2G以上のディスクスペースを必要とします