Aviso do compilador (nível 1, erro) C4399

'symbol' : símbolo por processo não deve ser marcado com __declspec(dllimport) quando compilado com /clr:pure

Comentários

A opção do compilador /clr:pure foi preterida no Visual Studio 2015 e está sem suporte no Visual Studio 2017.

Os dados de uma imagem nativa ou de uma imagem com construções nativas e CLR (Common Language Runtime) não podem ser importados para uma imagem pura. Para resolver esse aviso, compile com /clr (não /clr:pure) ou exclua __declspec(dllimport).

Esse aviso pode ser emitido como um erro. Use o pragma de aviso para desativar ou alterar o nível de aviso.

Exemplo

A amostra a seguir gera o aviso C4399.

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