/Gm (簡易リビルドの有効化)
削除されました。 最小リビルドを有効にします。最小リビルドにより、(ヘッダー (.h) ファイルに格納されている) 変更された C++ クラス定義を含む C++ ソース ファイルを再コンパイルする必要があるかどうかが決定されます。
構文
/Gm
解説
/Gm は非推奨になっています。 特定の種類のヘッダー ファイルの変更に対して、ビルドがトリガーされない場合があります。 このオプションは、プロジェクトから安全に削除できます。 ビルド時間を短縮するには、プリコンパイル済みヘッダーと、インクリメンタルおよび並列ビルド オプションを、代わりに使用することをお勧めします。 非推奨のコンパイラ オプションの一覧については、「カテゴリ別のコンパイラ オプション」の「非推奨のコンパイラ オプションと削除されたコンパイラ オプション」セクションをご覧ください。
最初のコンパイル時に、コンパイラによってソース ファイルとクラス定義の間の依存関係情報がプロジェクトの .idb ファイルに格納されます。 (依存関係情報は、どのソース ファイルがどのクラス定義に依存し、どの .h ファイルに定義があるかを示します)。その後のコンパイルでは、.idb ファイルに格納されている情報が使用され、変更された .h ファイルが含まれている場合でも、ソース ファイルをコンパイルする必要があるかどうかが決定されます。
Note
最小リビルドは、クラス定義がインクルード ファイル間で変わらないことに依存します。 .idb ファイル内の依存関係情報はプロジェクト全体に対して作成されるため、クラス定義はプロジェクトに対してグローバルである必要があります (特定のクラスの定義は 1 つのみである必要があります)。 プロジェクト内のクラスに複数の定義がある場合は、最小リビルドを無効にします。
インクリメンタル リンカーは、/ZW (Windows ランタイムのコンパイル) オプションを使用することで .obj ファイルに含まれる Windows メタデータに対応しないため、/Gm オプションと /ZW には互換性がありません。
Visual Studio 開発環境でこのコンパイラ オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[C/C++]>[コード生成] プロパティ ページを選択します。
[最小リビルドを有効にする] プロパティを変更します。
このコンパイラ オプションをコードから設定するには
- 以下を参照してください。MinimalRebuild