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