Errore del compilatore C2813
#import non supportato con /MP
L'errore C2813 viene generato se in un comando del compilatore vengono specificati l'opzione /MP e due o più file da compilare e uno o più file contengono la direttiva per il preprocessore#import . La direttiva #import genera classi C++ dai tipi contenuti nella libreria dei tipi specificata e quindi scrive tali classi in due file di intestazione. La direttiva #import non è supportata nel caso in cui più unità di compilazione importano la stessa libreria dei tipi, dal momento che, quando provano a scrivere contemporaneamente gli stessi file di intestazione, viene generato un conflitto.
Questo errore del compilatore e l'opzione del compilatore /MP sono nuove in Visual Studio 2008.
Esempio
Nell'esempio seguente viene generato l'errore C2813. La riga di comando nel commento "compile with:" indica al compilatore di usare le opzioni /MP e /c per compilare diversi file. Almeno uno dei file contiene la direttiva #import . A scopo di verifica, nell'esempio viene usato due volte lo stesso file.
// C2813.cpp
// compile with: /MP /c C2813.cpp C2813.cpp
#import "C:\windows\system32\stdole2.tlb" // C2813
int main()
{
}