カスタムビルドステップとビルド後のイベントの違いは何ですか?
-
27-09-2019 - |
質問
どちらのプロジェクト設定でも、カスタムコマンドを実行できます。それぞれの利点や欠点は何ですか?
解決
大きな違い。カスタムビルドステップを使用すると、依存関係と出力を指定できます。これにより、ビルドシステムが決定できます いつ ステップを実行し、出力が既に最新である場合にスキップします。ビルド後のイベントはです いつも プロジェクトが建物を必要とするときに実行され、そのタイミングが修正されます。
他のヒント
@hansの回答が切り替えられたようです。主な違いは、ファイルを構築する必要がない場合、ビルドイベントが発生しないことです。
MSDNドキュメントから:
ビルドイベントとカスタムビルドステップは、他のビルドステップとともに次の順序で実行されます。
Pre-Build event
Custom build tools on individual files
MIDL
Resource compiler
The C/C++ compiler
Pre-Link event
Linker or Librarian (as appropriate)
Manifest Tool
BSCMake
Custom build step on the project
Post-Build event
プロジェクトのカスタムビルドステップと建物後のイベントは、他のすべてのビルドプロセスが終了した後、順次実行されます。
ビルドイベントは、ビルドプロセスのこれらのポイントに正常に到達する場合にのみ実行されます. 。ビルドでエラーが発生した場合、ビルド後イベントは発生しません。リンクフェーズの前にエラーが発生した場合、プリリンクも建物後イベントも発生しません。さらに、ファイルをリンクする必要がない場合、リンク前イベントは発生しません。リンク前イベントは、リンクステップを含まないプロジェクトでも利用できません。ファイルを構築する必要がない場合、ビルドイベントは発生しません。
Visual Studio C ++開発環境内から、ビルドプロセスをカスタマイズする3つの基本的な方法があります。
カスタムビルドステップカスタムビルドステップは、プロジェクトに関連付けられたビルドルールです。カスタムビルドステップは、実行するコマンドライン、追加の入力ファイルまたは出力ファイル、および表示するメッセージを指定できます。詳細については、次の方法を参照してください。MSBuildプロジェクトにカスタムビルドステップを追加してください。
カスタムビルドツールカスタムビルドツールは、1つ以上のファイルに関連付けられたビルドルールです。カスタムビルドステップは、入力ファイルをカスタムビルドツールに渡すことができ、1つ以上の出力ファイルが生成されます。たとえば、MFCアプリケーションのヘルプファイルは、カスタムビルドツールで構築されています。詳細については、次の方法を参照してください。MSBuildプロジェクトにカスタムビルドツールを追加し、カスタムビルドツールを指定してください。イベントを構築します
イベントを構築します プロジェクトのビルドをカスタマイズしましょう。 3つのビルドイベントがあります:ビルド前、プレリンク、および建物後。ビルドイベントを使用すると、ビルドプロセスの特定の時間に発生するアクションを指定できます。たとえば、ビルドイベントを使用して、プロジェクトが終了した後、regsvr32.exeを含むファイルを登録できます。詳細については、ビルドイベントの指定を参照してください。