Teilen über


Linkertoolfehler LNK2028

"exported_function" (decorated_name) in Funktion "function_containing_function_call" (decorated_name)

Hinweise

Beachten Sie beim Versuch, eine systemeigene Funktion in ein reines Bild zu importieren, dass sich die impliziten Aufrufkonventionen zwischen nativen und reinen Kompilierungen unterscheiden.

Die Option "/clr:pure compiler" ist in Visual Studio 2015 veraltet und wird in Visual Studio 2017 nicht unterstützt.

Beispiele

In diesem Codebeispiel wird eine Komponente mit einer exportierten, native 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 " ist 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();
}