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()
{
}