다음을 통해 공유


링커 도구 경고 LNK4286

'filename_1.obj'에 정의된 기호 'symbol'을 'filename_2.obj'로 가져옵니다.

__declspec(dllimport)는 기호가 같은 이미지의 개체 파일 filename_1.obj에 정의되어 있더라도 기호에 지정되었습니다. 이 __declspec(dllimport) 경고를 해결하려면 한정자를 제거합니다.

설명

경고 LNK4286 링커 도구 경고 LNK4217 보다 일반적인 버전입니다. 링커는 기호를 참조하는 개체 파일을 알 수 있지만 어떤 함수는 알 수 없는 경우 경고 LNK4286 생성합니다.

LNK4286 해결하려면 filename_2.obj에서 참조되는 기호정방향 선언에서 선언 한정자를 제거 __declspec(dllimport) 합니다.

최종 생성된 코드는 올바르게 동작하지만 가져온 함수를 호출하기 위해 생성된 코드는 함수를 직접 호출하는 것보다 효율성이 떨어집니다. 이 경고는 /clr 옵션을 사용하여 컴파일할 때 표시되지 않습니다.

데이터 선언 가져오기 및 내보내기에 대한 자세한 내용은 dllexport, dllimport를 참조하세요.

참고 항목

링커 도구 경고 LNK4049
링커 도구 경고 LNK4217
dllexport, dllimport