Megosztás a következőn keresztül:


C2813 fordítási hiba

#import nem támogatott az /MP kapcsolóval

Megjegyzések

A C2813 akkor lesz kibocsátva, ha egy fordítóparancsban megadja az /MP fordító lehetőséget és két vagy több lefordítandó fájlt, és egy vagy több fájl tartalmazza a #import előfeldolgozási irányelvet. A #import irányelv C++ osztályokat hoz létre a megadott típustárban lévő típusokból, majd ezeket az osztályokat két fejlécfájlba írja. A #import irányelv nem támogatott, mert ha több fordítási egység importálja ugyanazt a típustárat, ezek az egységek ütköznek, amikor ugyanazon fejlécfájlokat próbálják meg egyszerre írni.

Ez a fordítóhiba és az /MP fordító lehetőség új a Visual Studio 2008-ban.

Example

Az alábbi példa C2813-at hoz létre. A "fordítás a következővel:" megjegyzés parancssora azt jelzi a fordítónak, hogy a /MP és /c fordítási kapcsolókkal több fájlt fordítson le. Legalább az egyik fájl tartalmazza a #import irányelvet. Ugyanazt a fájlt kétszer használjuk a példa tesztelése érdekében.

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