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