Share via


致命的なエラー C1076

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

このエラーは、シンボルが多すぎるか、テンプレートのインスタンス生成が多すぎることが原因で発生する場合があります。

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

  1. /Zm オプションを使用して、コンパイラ メモリ制限を、C3859 エラー メッセージで指定されている値に設定します。 Visual Studio でこの値を設定する方法などの詳細については、「/Zm (プリコンパイル済みヘッダーのメモリ割り当て制限の指定)」の「解説」を参照してください。

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

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

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

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

  6. 大きな関数を小さな関数に分割します。

  7. 大きなクラスを小さなクラスに分割します。

  8. 現在のファイルを小さなファイルに分割します。

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