error C3859: virtual memory range for PCH exceeded。 原因及解决

来源:互联网 发布:英文书法 知乎 编辑:程序博客网 时间:2024/05/21 09:26

今天编译一个项目时,出现如下编译错误:

1>d:\program files (x86)\microsoft visual studio 9.0\vc\include\vector(203) : error C3859: virtual memory range for PCH exceeded; please recompile with a command line option of '-Zm110' or greater
1>d:\program files (x86)\microsoft visual studio 9.0\vc\include\vector(203) : fatal error C1076: compiler limit : internal heap limit reached; use /Zm to specify a higher limit

从字面上翻译即:

错误C3859: PCH虚拟内存范围越界;请使用命令行选项'-Zm110'或更大重编译。

致命错误C1076: 编译受限:内部堆栈达到上限;使用/Zm指定更高限额。

对以上错误,我个人理解是PCH(Precompiled Headers, 预编译头文件stdafx.h)包含的文件过多,导致预编译内存不够。

解决办法很简单,工程上点击右键 -> 属性(Properties) -> C/C++ -> 命令行(Command Line), 在额外选项(Additional options)中按错误提示输入-Zm110 (或更大数字)重编译即可。

原创粉丝点击