Erro das ferramentas de vinculador LNK2028
"exported_function" (decorated_name) referenciado na função "function_containing_function_call" (decorated_name)
Comentários
Ao tentar importar uma função nativa para uma imagem pura, lembre-se de que as convenções de chamada implícitas diferem entre compilações nativas e puras.
A opção do compilador /clr:pure foi preterida no Visual Studio 2015 e está sem suporte no Visual Studio 2017.
Exemplos
Este exemplo de código gera um componente com uma função exportada, nativa, cuja convenção de chamada é implicitamente __cdecl.
// LNK2028.cpp
// compile with: /LD
__declspec(dllexport) int func() {
return 3;
}
O exemplo a seguir cria um cliente puro que consome a função nativa. No entanto, a convenção de chamada em /clr:pure é __clrcall. O seguinte exemplo gera o erro LNK2028.
// LNK2028_b.cpp
// compile with: /clr:pure lnk2028.lib
// LNK2028 expected
int func();
int main() {
return func();
}