Linkertoolfehler LNK2028

Aktualisiert: November 2007

Fehlermeldung

Verweis auf "exportierte_Funktion" (ergänzter_Name) in Funktion "Funktion_mit_Funktionsaufruf" (ergänzter_Name)
"exported_function" (decorated_name) referenced in function "function_containing_function_call" (decorated_name)

Wenn eine systemeigene Funktion in ein reines Abbild importiert wird, unterscheiden sich die impliziten Aufrufkonventionen zwischen systemeigenen und reinen Kompilierungen.

Beispiel

In diesem Codebeispiel wird eine Komponente mit einer exportierten, systemeigen Funktion generiert, deren Aufrufkonvention implizit __cdecl ist.

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

Im folgenden Beispiel wird ein reiner Client erstellt, der die systemeigene Funktion verwendet. Die Aufrufkonvention unter /clr:pure lautet jedoch __clrcall. Im folgenden Beispiel wird LNK2028 generiert.

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

int main() {
   return func();
}