none
我的vs2008下新建立一个c++类库项目,编译出错. RRS feed

  • 问题

  • 建立完项目之后,什么都没有写,然后直接编译,出:
    Error 1 fatal error C1001: An internal error has occurred in the compiler. 路径\InjectLib\InjectLib\Stdafx.cpp 1 InjectLib
    2009年6月11日 8:18

答案

全部回复

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

    邹俊才
    2009年6月11日 8:32
    版主
  • 谢谢.这些方法我试过.所以,才新建一个空的c++ classlib 项目来做测试.
    我怀疑,我的vs装的不全.确实在Add feature的过程中,发现c++里的钩选全是空的.
    等修复完之后,再看看结果吧.
    2009年6月11日 9:07
  • 你好,这样的话,估计你连C++的编译器都没有安装!
    邹俊才
    • 已标记为答案 Tim Li 2009年6月17日 9:42
    2009年6月11日 10:53
    版主
  • 我觉得我目前VS里关于c++的都是装全的.
    我的系统是vista.是不是还要装什么其他的东西呢?
    2009年6月12日 2:56
  • 重装VS2008
    麻烦把正确答案设为解答。
    • 已标记为答案 Tim Li 2009年6月17日 9:42
    2009年6月12日 5:35
    版主