Поделиться через


Ошибка средств компоновщика LNK2028

"exported_function" (decorated_name) на функцию "function_containing_function_call" (decorated_name)

Замечания

При попытке импортировать собственную функцию в чистое изображение помните, что неявные соглашения о вызовах различаются между собственными и чистыми компиляциями.

Параметр компилятора /clr:pure не рекомендуется использовать в Visual Studio 2015 и не поддерживается в Visual Studio 2017.

Примеры

Этот пример кода создает компонент с экспортируемой, собственной функцией, соглашение о вызовах которой неявно __cdecl.

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

В следующем примере создается чистый клиент, который использует собственную функцию. Однако соглашение о вызове в /clr:pure __clrcall. Следующий пример создает LNK2028.

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

int main() {
   return func();
}