致命错误C1001:INTERNAL COMPILER ERROR(编译器文件'msc1.cpp',第1794行)

时间:2013-07-03 15:23:22

标签: c++ include visual-studio-6 internal-compiler-error

我尝试使用Visual Studio 6 SP6编译项目并获得以下内容:

usbcore.h(18) : fatal error C1001: INTERNAL COMPILER ERROR
    (compiler file 'msc1.cpp', line 1794)
     Please choose the Technical Support command on the Visual C++
     Help menu, or open the Technical Support help file for more information

usbcore.h的第18行包含include指令:

18: #include "usbiface.h"

空或不存在的usbiface.h会产生相同的错误。我评论了这一行并得到了相同的错误,但是对于下一个包含文件。

总结一下:对于引用公共项目标题的每个#include指令,都会发生编译器错误。

5 个答案:

答案 0 :(得分:2)

就我而言,将标签WholeProgramOptimizationtrue从true更改为false可以解决问题。

答案 1 :(得分:1)

我弄清楚导致该错误的原因。其中一个包含路径(使用/ I开关传递给编译器)有一个尾部反斜杠。

编译器cmdline为:CPP /nologo /MT /W3 /GX /Zi /Od /I "$(ZLIB_PATH)" /I "..\headers"

ZLIB_PATH有一个尾随反斜杠。删除反斜杠解决了这个问题。

答案 2 :(得分:1)

当我将括号从ctor的定义中删除时,我遇到了这个问题。这是一个愚蠢的错误,但检查所有这些棘手的修复是非常麻烦的。所以我只是提供这种可能性。我不会期望内部编译器错误。

答案 3 :(得分:0)

就我而言(VC6.0 SP6a),这是由于令人困惑的using语句造成的。似乎编译器无法确定我是在定义Foo::Bar还是Bar(在全局命名空间中)。

namespace Foo {
    class Bar;
}

using Foo::Bar;

class Bar {
};

答案 4 :(得分:0)

就我而言,我必须关闭“生成浏览信息”选项以避免这种情况。 (项目设置\ C / C ++ \常规)