This documentation is archived and is not being maintained.

Fatal Error C1076

compiler limit : internal heap limit reached; use /Zm to specify a higher limit

This error can be caused by too many symbols, or too many template instantiations.

To resolve this error:

  1. Use the /Zm option to set the compiler memory limit.

  2. Eliminate unnecessary include files.

  3. Eliminate unnecessary global variables, for example, by allocating memory dynamically instead of declaring a large array.

  4. Eliminate unused declarations.

  5. Split large functions into smaller functions.

  6. Split large classes into smaller classes.

  7. Split the current file into smaller files.

If C1076 occurs immediately after the build starts, the value specified for /Zm is probably too high for your program. Reduce the /Zm value.