编译一些复杂的模板时,我有时会得到:
致命错误C1076:编译器限制:达到内部堆限制;使用/ Zm指定更高的限制
我知道我可以转到项目设置并指定例如/Zm500
为编译器提供更多内存(/Zm
上的更多信息可以找到here)。然而,它非常麻烦,我宁愿全局设置默认限制。有没有办法做到这一点?
或者,有没有办法使用编译指示或源文件的其他注释来指定此特定标志?这样,它也可以在具有可能不同设置的机器上移植。
我使用Visual Studio 2008,如果它也适用于Visual C ++ 6.0,我不会介意。
答案 0 :(得分:4)
我终于找到了答案,here。所需要的只是设置CL
环境变量:
CL = / Zm500
例如,在控制面板 - 系统 - 环境变量中(请注意,需要重新启动IDE)。然后所有构建都将使用此设置,除非被cl.exe
命令行参数覆盖。
这适用于MSVC 6.0和Visual Studio 2008。