Linker Tools Error LNK2028
"exported_function" (decorated_name) referenced in function "function_containing_function_call" (decorated_name)
Remarks
When attempting to import a native function into a pure image, remember that the implicit calling conventions differ between native and pure compilations.
The /clr:pure compiler option is deprecated in Visual Studio 2015 and unsupported in Visual Studio 2017.
Examples
This code sample generates a component with an exported, native, function whose calling convention is implicitly __cdecl.
// LNK2028.cpp
// compile with: /LD
__declspec(dllexport) int func() {
return 3;
}
The following sample creates a pure client that consumes the native function. However, the calling convention under /clr:pure is __clrcall. The following sample generates LNK2028.
// LNK2028_b.cpp
// compile with: /clr:pure lnk2028.lib
// LNK2028 expected
int func();
int main() {
return func();
}