http://www.ieasy.org/yuzuo/archives/2005_07.html (余佐的blog)


VC6.0的一个编译错误的解决

在window98下使用vc6.0时,如果预编译头文件(stdafx.h)中包含了模板类的头文件,比如atl的头文件时,编译器会报错:
fatal error C1001: INTERNAL COMPILER ERROR
(compiler file 'msc1.cpp', line 1786)

造成这种问题的原因是编译器分配的内存超过了限制。
解决的办法有三种:
1.给编译器增大内存限制。在project(工程)->setting(设置)->c/c++的project option(工程选项)中,添加/Zm#nn选项,#nn是一个数字,取值最大为2000。默认为100。但是这种方法好像没有什么用处。
2.将模板类头文件从stdafx.h中移出;
3.不使用预编译头文件。project->setting->c/c++,选择所有的.cpp文件,都使用“不使用预编译头文件“的选项。缺点是编译的时候很慢

相关文章:

  • 2021-12-09
  • 2021-04-03
  • 2021-07-09
  • 2021-05-17
  • 2021-08-06
  • 2021-06-16
猜你喜欢
  • 2022-12-23
  • 2021-07-21
  • 2021-11-03
  • 2021-07-25
  • 2021-06-23
  • 2022-12-23
相关资源
相似解决方案