2013-07-03 120 views
1

我試圖編譯項目與Visual Studio 6 SP6,得到了以下幾點:usbcore的致命錯誤C1001:內部編譯器錯誤(編譯器文件 'msc1.cpp',行1794)

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 

線18。 h包含include指令:

18: #include "usbiface.h" 

空或不存在的usbiface.h會產生相同的錯誤。我評論了這一行,並得到了相同的錯誤,但對於下一個包含文件。

總結:編譯器錯誤發生在每個#include指令中,該指令引用了公共項目頭文件。

+0

我明白,你可能很久沒有想辦法解決這個問題了。但是,如果您要爲自己回答問題的具體目的提出問題,我希望看到更多細節,尤其是在問題中。 -1直到那時。 –

+0

也投票結束自己的優點,因爲不清楚。如問,沒有足夠的信息來回答這個問題。 –

+0

@John Dibling:你錯過了什麼細節?我想分享有關編譯器錯誤的信息,以節省某人的時間,因爲我花了一天的時間試圖弄清楚它。 –

回答

1

我想通了什麼導致了這個錯誤。其中一個包含路徑(使用/ I開關傳遞給編譯器)具有尾部反斜槓。

編譯器CMDLINE是:CPP /nologo /MT /W3 /GX /Zi /Od /I "$(ZLIB_PATH)" /I "..\headers"

ZLIB_PATH有尾隨backshlash。刪除反斜線解決了這個問題。

2

在我的情況下,將標記WholeProgramOptimizationtrue從true更改爲false可以解決問題。

0

當我離開ctor的定義時,我遇到了這個問題。這是一個愚蠢的錯誤,但檢查所有這些艱難的修復是非常重要的。所以我只是提供這種可能性。我不會有預期的內部編譯器錯誤。

0

在我的情況下(VC6.0 SP6a),這是由於混淆的using聲明。看起來編譯器無法確定我是在定義Foo::Bar還是Bar(在全局命名空間中)。

namespace Foo { 
    class Bar; 
} 

using Foo::Bar; 

class Bar { 
};