Dela via


Kompilatorfel C2813

#import stöds inte med /MP

Anmärkningar

C2813 genereras om du i ett kompilatorkommando anger kompileringsalternativet /MP och två eller flera filer som ska kompileras, och en eller flera av filerna innehåller #import förprocessordirektivet. #import-direktivet genererar C++-klasser från typerna i det angivna typbiblioteket och skriver sedan dessa klasser till två huvudfiler. Det #import direktivet stöds inte eftersom om flera kompileringsenheter importerar samma typbibliotek står enheterna i konflikt när de försöker skriva samma huvudfiler samtidigt.

Det här kompilatorfelet och kompileringsalternativet /MP är nya i Visual Studio 2008.

Example

I följande exempel genereras C2813. Kommandoraden i kommentaren "kompilera med:" anger för kompilatorn att använda kompileringsalternativen /MP och /c för att kompilera flera filer. Minst en av filerna innehåller #import-direktivet . Vi använder samma fil två gånger för att testa det här exemplet.

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