コマンド ラインから複数の CDT C++ プロジェクトをビルドするための最適なソリューションは何ですか? プロジェクトには参照があるため、単一のプロジェクトだけをビルドすることはできません。
5 に答える
この機能は、CDT 6 (2009 年 6 月 15 日の最終ビルド) で追加されました。最終リリース候補は、ビルド ページ download.eclipse.org/tools/cdt/builds/6.0.0/ からダウンロードできます。
Eclipse 3.5 + CDT 6 のリリースを使用すると、コマンド ラインで Eclipse に送信される次のオプションを使用して、プロジェクトとワークスペースをインポート、ビルド、およびクリーン ビルドできます。
eclipse -nosplash
-application org.eclipse.cdt.managedbuilder.core.headlessbuild
-import {[uri:/]/path/to/project}
-build {project_name | all}
-cleanBuild {projec_name | all}
Windows では、ビルド出力を stdout/stderr に書き込み、完了するまで呼び出しがブロックされるようにするeclipsec.exe
代わりに使用します。eclipse.exe
「-application」スイッチは、ワークベンチを開始するのではなく、CDT ヘッドレス ビルダーを実行するように Eclipse に指示します。他のスイッチは、個別にまたは一緒に使用できます。これは、独自のシェル スクリプトを使用してプロジェクトをチェックアウトし、' -import ' ワークスペースにプロジェクトをチェックアウトし、' -build ' Managedbuilder のヘッドレス ビルダーを使用してプロジェクトをビルドできることを意味します。
「-data」スイッチを使用して、使用するワークスペースを指定します。これは、空の一時ディレクトリにすることができます。プラットフォーム ランタイムでサポートされているその他のスイッチについては、ランタイム ドキュメントを参照してください: help.eclipse.org/galileo/index.jsp?topic=/ org.eclipse.platform.doc.isv/reference/misc/runtime-options.html
コミットされた機能の詳細については、バグ 186847 コメント 24以降を参照してください。
CDT 6 より前では、JDT のAptBuilderを使用できました(たとえば、従来の Eclipse に含まれています)。
これにより、構成済みのワークスペースを構築できます。ソースをチェックアウトし、チェックアウトしたプロジェクトを指すワークスペースを構成します。その後、自動化されたビルド スクリプトでチェックアウトを更新し、GUI を起動することなく AptBuilder を実行できます。
管理ビルダーを使用したヘッドレス ビルドは現在サポートされていません。バグ 186847 - CDT 内部ビルダーは自動化されたコマンド ライン ビルドをサポートしていません を参照してください。
アンマネージ (make) ビルダーを使用する場合は、コマンド ラインから使用できる Makefile が既に存在します。
CDT の下に Make プロジェクトを作成した場合は、お気に入りのシェルを使用して、すべてのプロジェクト ディレクトリで make を実行できます。
これを既存のビルドで行います。
すべての外部参照とトップレベル プロジェクトに makefile を配置します。「すべて」のルールで、それを実行します: make -C ./externalref1 make -C ./externalref2 など
外部依存関係を変数で実際に定義します。