C3859:Virtueller Speicherbereich für PCH überschritten

C3859:Virtueller Speicherbereich für PCH überschritten

Ich weiß, das ist alt, aber ich bin hier gelandet, also kann ich genauso gut antworten.

Hier finden Sie einen großartigen Artikel über PCH-Probleme.

1) Warum tritt es nicht bei jeder Neuerstellung auf?
Dies ist ein bisschen komplex, um sicher zu antworten. Da es nicht immer passiert, kann es mehrere Probleme geben. Es liegt höchstwahrscheinlich an der Speicherzuweisung. Aus dem Artikel :

Es könnte auch ein Problem mit der Größe der Auslagerungsdatei sein (höchstwahrscheinlich auf virtuellen Maschinen), aber ich glaube, Sie würden eine ähnliche Meldung wie diese erhalten:

2) Warum erhalte ich bei diesem niedrigeren Wert eine Fehlermeldung? (Zm114 statt Zm120)
Stellen Sie sicher, dass die Zm120-Modifikationen alle Build-Konfigurationen (Release|Debug) und Plattform (x86|x64) verarbeiten.

Es könnte auch hilfreich sein, PreferredToolArchtecture auf x64 zu setzen:

Dieser kann leicht übersehen werden, aber solche Probleme treten auch auf, wenn der vorkompilierte Header einfach zu groß ist. Ein bisschen Aufräumen kann auch eine gute Idee sein.


Ich bin darauf gestoßen, als ich eine große Codebasis auf einer lokalen VM kompiliert habe. Ich habe versucht, die Größe der Auslagerungsdatei usw. zu erhöhen, und es hat nicht funktioniert. Das einzige, was in meinem Fall funktioniert hat, war, den dynamischen Speicher in der Hyper-V-VM-Einstellung zu deaktivieren und der VM mehr RAM zu geben, 8 GB -> 16 GB.

Anscheinend weist VS seinen Speicher im Voraus zu, sodass nur der der VM zugewiesene Anfangswert verwendet wird und keine dynamischen Speicheränderungen ausgelöst werden.