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

原地址:http://blog.csdn.net/great3779/article/details/7022064

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

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 (或更大数字)重编译即可。

posted @ 2012-04-25 16:00  网络小虫  阅读(1577)  评论(0编辑  收藏  举报