링커 도구 오류 LNK2028
함수 "function_containing_function_call"(decorated_name)에서 참조되는 "exported_function"(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();
}