다음을 통해 공유


링커 도구 오류 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();
}