嚴重錯誤 C1076
編譯器限制:已達到內部堆積限制;請使用 /Zm 以指定更高的限制
這項錯誤可能會因為符號太多或樣板具現化太多而產生。 從 Visual Studio 2015 開始,此訊息可能是因為太多平行建置程式所造成的 Windows 虛擬記憶體壓力所造成。 在此情況下,除非您使用 #pragma hdrstop
指示詞,否則應該忽略使用 /Zm 選項的建議。
若要解決此錯誤:
如果您的先行編譯標頭使用
#pragma hdrstop
指示詞,請使用 /Zm 選項,將編譯程式記憶體限制設定為 C3859 錯誤訊息中指定的值。 如需有關如何在 Visual Studio 中設定此值的詳細資訊,請參閱 /Zm 中的中的一節。請考慮使用 /maxcpucount 選項來MSBUILD.EXE搭配 /MP 選項來CL.EXE所指定的平行進程數目。 如需詳細資訊,請參閱 先行編譯標頭 (PCH) 問題和建議。
如果您是在 64 位元作業系統上使用 32 位元裝載的編譯器,請改用 64 位元裝載的編譯器。 如需詳細資訊,請參閱 如何:在命令行上啟用 64 位 Visual C++ 工具組。
排除不必要的包含檔案。
排除不必要的全域變數,例如動態地配置記憶體,而不宣告大型陣列。
排除未使用到的宣告。
如果在建置開始之後立即發生 C1076,則針對 /Zm 指定的值可能對您的程式而言太高。 減少 /Zm 值。