次の方法で共有


致命的なエラー C1076

コンパイラの制限 : 内部ヒープの上限に達しました。上限を変更するには /Zm オプションを使用してください。

このエラーは、シンボルが多すぎるか、テンプレートのインスタンス生成が多すぎることが原因で発生する場合があります。 Visual Studio 2015 以降、このメッセージは、並列ビルド プロセスが多すぎるために発生する Windows 仮想メモリの負荷が原因である可能性があります。 この場合、#pragma hdrstop ディレクティブを使用している場合を除き、/Zm オプションの使用に関する推奨事項は無視する必要があります。

このエラーを解決するには、次の方法があります。

  1. プリコンパイル済みヘッダーで #pragma hdrstop ディレクティブを使用する場合は、/Zm オプションを使用して、コンパイラのメモリ制限を C3859 エラー メッセージで指定された値に設定します。 Visual Studio でこの値を設定する方法を含む詳細については、/Zm (プリコンパイル済みヘッダーのメモリ割り当て制限の指定)の [注釈] セクションを参照してください。

  2. MSBUILD.EXE に対する /maxcpucount オプションと、CL.EXE に対する /MP オプションを組み合わせて使用することで指定された、並列プロセスの数を減らすことを検討してください。 詳しくは、プリコンパイル済みヘッダー (PCH) の問題と推奨事項に関する記事をご覧ください。

  3. 64 ビット オペレーティング システムで 32 ビット ホスト コンパイラを使用している場合は、代わりに 64 ビット ホスト コンパイラを使用します。 詳細については、「方法: 64 ビットの Visual C++ ツールセットをコマンド ラインから有効にする」を参照してください。

  4. 不必要なインクルード ファイルを除去します。

  5. 不要なグローバル変数を削除します。これを行うには、たとえば、サイズの大きな配列を宣言する代わりに、メモリを動的に割り当てます。

  6. 不要な宣言を削除します。

ビルドの開始直後にこの C1076 エラーが発生した場合は、プログラムに対して /Zm の値を高く設定しすぎた可能性があります。 /Zm 値を低く設定してください。