Compartilhar via


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();
}