fatal error C1076: compiler limit : internal heap limit reached; use /Zm to spec
时间:2010-09-07 来源:语过天晴
project->setting->c/c++ 在project options里面是下面这样的
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/帝位.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /c
//我试了一下,发现这个地方是存在空格的,因为那个地方很窄,空格不容易看见, 加进Zm200后应该是这样
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/帝位.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ /Zm200 /c
注意:Zm200前后都有空格
//漏掉空格变成下面这样所以才通不过 编译更加通不过 记得要为 Debug 和 Release 都要加进/Zm200 去
/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Fp"Debug/帝位.pch" /YX /Fo"Debug/" /Fd"Debug/" /FD /GZ/Zm200/c
微软的解释如下:
/Zm(指定预编译头的内存分配限制)
确定编译器对预编译头的内存分配限制。
/Zmnumber
参数 number
比例因子,用于为预编译头确定编译器的内存分配限制。
备注
number 参数是默认值为 100 的比例因子,它指定内存分配为 50 MB。最大值为 2000。下表说明数字如何修改内存分配。
值 内存分配
10 5.0 MB
100 50 MB
200 100 MB
1000 500 MB
2000 1000 MB