Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
директива #import не поддерживается с параметром /MP
Замечания
C2813 выводится, если в команде компилятора указана опция /MP и для компиляции выбрано два или более файлов, причем один или несколько из этих файлов содержат директиву препроцессора #import. Директива #import создает классы C++ на основе типов в указанной библиотеке типов, а затем записывает эти классы в два файла заголовков. Директива #import не поддерживается, так как в случае, если несколько блоков компиляции импортируют одну и ту же библиотеку типов, между блоками возникает конфликт при попытке одновременной записи одних и тех же файлов заголовков.
Эта ошибка компилятора и параметр компилятора /MP новые в Visual Studio 2008.
Пример
В следующем примере возникает C2813. Командная строка в комментарии "compile with:" предписывает компилятору использовать параметры компилятора /MP и /c для компиляции нескольких файлов. По крайней мере один из файлов содержит директиву #import . Один и тот же файл используется дважды для проверки данного примера.
// C2813.cpp
// compile with: /MP /c C2813.cpp C2813.cpp
#import "C:\windows\system32\stdole2.tlb" // C2813
int main()
{
}