5

我尝试使用 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每个引用公共项目头的指令都会发生编译器错误。

4

5 回答 5

3

我弄清楚是什么导致了这个错误。其中一个包含路径(使用 /I 开关传递给编译器)有一个尾随反斜杠。

编译器命令行是:CPP /nologo /MT /W3 /GX /Zi /Od /I "$(ZLIB_PATH)" /I "..\headers"

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

于 2013-07-03T15:23:22.453 回答
2

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

于 2014-12-16T21:25:14.050 回答
1

当我将括号从 ctor 的定义中去掉时,我遇到了这个问题。这是一个愚蠢的错误,但检查所有这些艰难的修复是非常费力的。所以我只是提供这种可能性。我没想到会出现内部编译器错误。

于 2016-01-29T22:05:21.927 回答
0

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

于 2020-10-23T09:07:12.523 回答
0

在我的情况下(VC6.0 SP6a),这是由于令人困惑的using陈述。似乎编译器无法确定我是在定义Foo::Bar还是Bar(在全局命名空间中)。

namespace Foo {
    class Bar;
}

using Foo::Bar;

class Bar {
};
于 2017-07-27T12:31:50.163 回答