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