Error del compilador C2813
No se admite #import con /MP
El error C2813 se genera si en un comando de compilador se especifica la opción del compilador /MP y dos o más archivos para compilar y uno o varios de los archivos contiene la directiva de preprocesador#import . La directiva #import genera clases de C++ a partir de los tipos de la biblioteca de tipos especificada y, a continuación, escribe las clases en dos archivos de encabezado. La directiva #import no se admite la directiva porque si varias unidades de compilación importan la misma biblioteca de tipos, las unidades entran en conflicto al intentar escribir los mismos archivos de encabezado al mismo tiempo.
Este error del compilador y la opción del compilador /MP son nuevas en Visual Studio 2008.
Ejemplo
El ejemplo siguiente genera la advertencia C2813. La línea de comandos del comentario "compile with:" indica al compilador que debe usar las opciones del compilador /MP y /c para compilar varios archivos. Al menos uno de los archivos contiene la directiva #import . El mismo archivo se usa dos veces para probar este ejemplo.
// C2813.cpp
// compile with: /MP /c C2813.cpp C2813.cpp
#import "C:\windows\system32\stdole2.tlb" // C2813
int main()
{
}