编译器警告(等级 1,错误)C4399

“symbol”:在使用 /clr:pure 进行编译时,per-process 符号不应该用 __declspec(dllimport) 进行标记

备注

“/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