我尝试使用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
指令,都会发生编译器错误。
答案 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 ++ \常规)