Sdílet prostřednictvím


Chyba linkerů LNK2028

"exported_function" (decorated_name) odkazované ve funkci "function_containing_function_call" (decorated_name)

Poznámky

Při pokusu o import nativní funkce do čisté image nezapomeňte, že implicitní konvence volání se liší mezi nativními a čistými kompilacemi.

Možnost /clr:pure compiler je v sadě Visual Studio 2015 zastaralá a v sadě Visual Studio 2017 není podporována.

Příklady

Tato ukázka kódu vygeneruje komponentu s exportovanou nativní funkcí, jejíž konvence volání je implicitně __cdecl.

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

Následující ukázka vytvoří čistého klienta, který využívá nativní funkci. Konvence volání v rámci /clr:pure je však __clrcall. Následující ukázka vygeneruje LNK2028.

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

int main() {
   return func();
}