Errore degli strumenti del linker LNK2028

"exported_function" (decorated_name) a cui si fa riferimento nella funzione "function_containing_function_call" (decorated_name)

Osservazioni:

Quando si tenta di importare una funzione nativa in un'immagine pura, tenere presente che le convenzioni di chiamata implicite differiscono tra compilazioni native e pure.

L'opzione del compilatore /clr:pure è deprecata in Visual Studio 2015 e non supportata in Visual Studio 2017.

Esempi

Questo esempio di codice genera un componente con una funzione esportata, nativa, la cui convenzione di chiamata viene __cdecl in modo implicito.

// LNK2028.cpp
// compile with: /LD
__declspec(dllexport) int func() {
   return 3;
}

L'esempio seguente crea un client puro che utilizza la funzione nativa. Tuttavia, la convenzione di chiamata in /clr:pure è __clrcall. L'esempio seguente genera LNK2028.

// LNK2028_b.cpp
// compile with: /clr:pure lnk2028.lib
// LNK2028 expected
int func();

int main() {
   return func();
}