Schwerwiegender Fehler C1076

Compilerlimit: Interne Heapgrenze erreicht; Verwenden Sie /Zm, um eine höhere Grenze anzugeben

Dieser Fehler kann durch zu viele Symbole oder Vorlageninstanziierungen verursacht werden. Ab Visual Studio 2015 kann diese Meldung durch zu viele parallele Buildprozesse verursacht werden. In diesem Fall sollte die Empfehlung zur Verwendung der Option /Zm ignoriert werden, es sei denn, Sie verwenden eine #pragma hdrstop Direktive.

So beheben Sie diesen Fehler:

  1. Wenn Der vorkompilierte Header eine #pragma hdrstop Direktive verwendet, verwenden Sie die Option "/Zm ", um den Compilerspeichergrenzwert auf den in der Fehlermeldung C3859 angegebenen Wert festzulegen. Weitere Informationen zum Festlegen dieses Werts in Visual Studio finden Sie im Abschnitt "Hinweise" in "/Zm" (Angeben des Grenzwerts für die Speicherzuweisung vorkompiliertem Header).

  2. Erwägen Sie, die Anzahl der parallelen Prozesse zu reduzieren, die mithilfe der Option "/maxcpucount " auf MSBUILD.EXE in Verbindung mit der /MP-Option auf CL.EXE angegeben wurden. Weitere Informationen finden Sie unter Precompiled Header (PCH)-Probleme und Empfehlungen.

  3. Verwenden Sie in einem 64-Bit-Betriebssystem anstelle von gehosteten 32-Bit-Compilern gehostete 64-Bit-Compiler. Weitere Informationen finden Sie unter How to: Enable a 64-Bit Visual C++ Toolset on the Command Line.

  4. Löschen Sie überflüssige Includedateien.

  5. Entfernen Sie unnötige globale Variablen, indem Sie beispielsweise Speicher dynamisch belegen, anstatt ein umfangreiches Array zu deklarieren.

  6. Entfernen Sie nicht benötigte Deklarationen.

Wenn C1076 unmittelbar nach dem Start des Builds auftritt, ist der für /Zm angegebene Wert wahrscheinlich zu hoch für Ihr Programm. Reduzieren Sie den Wert "/Zm ".