Sdílet prostřednictvím


Compilerfehler C2813

Aktualisiert: November 2007

Fehlermeldung

#import wird mit /MP nicht unterstützt
#import is not supported with /MP

C2813 wird ausgegeben, wenn Sie in einem Compilerbefehl die /MP-Compileroption und zwei oder mehr zu kompilierende Dateien angeben, von denen mindestens eine die #import-Präprozessordirektive enthält. Die #import-Direktive generiert C++-Klassen aus den Typen in der angegebenen Typbibliothek und schreibt diese Klassen dann in zwei Headerdateien. Die #import-Direktive wird nicht unterstützt. Wenn mehrere Kompilierungseinheiten dieselbe Typbibliothek importieren, tritt zwischen diesen Einheiten ein Konflikt auf, wenn sie versuchen, die gleichen Headerdateien zu schreiben.

Dieser Compilerfehler und die /MP-Compileroption sind neu in Visual Studio 2008.

Beispiel

Im folgenden Beispiel wird C2813 generiert. Die Befehlszeile im "compile with:"-Kommentar weist den Compiler an, die Compileroptionen /MP und /c zum Kompilieren mehrerer Dateien zu verwenden. Mindestens eine Datei enthält die #import-Direktive. Zum Testen dieses Beispiels wird die gleiche Datei zweimal verwendet.

// C2813.cpp
// compile with: /MP /c C2813.cpp C2813.cpp
#import "C:\windows\system32\stdole2.tlb"   // C2813
int main() 
{
}