Поделиться через


Предупреждение компилятора (уровень 1, ошибка) C4399

"symbol": символ для каждого процесса не должен быть помечен как __declspec(dllimport) при компиляции с /clr:pure

Замечания

Параметр компилятора /clr:pure не рекомендуется использовать в Visual Studio 2015 и не поддерживается в Visual Studio 2017.

Данные из собственного образа или образа с собственными и clR-конструкциями не могут быть импортированы в чистое изображение. Чтобы устранить это предупреждение, скомпилируйте с помощью /clr (не /clr:pure) или удалите__declspec(dllimport).

Это предупреждение может быть выдано как ошибка. Используйте предупреждение pragma, чтобы отключить или изменить уровень предупреждения.

Пример

Следующий пример приводит к возникновению ошибки C4399.

// C4399.cpp
// compile with: /clr:pure /doc /W1 /c
__declspec(dllimport) __declspec(process) extern const int i;   // C4399