문제

VC6에서 정밀한 컴파일을하는 ATL COM 프로젝트가있어 VS2008에서 컴파일 될 때 다음 링커 오류를 제공합니다.

오류 lnk2005 : "void * __cdecl 연산자 new (unsigned int)"(?? 2@yapaxi@z) 이미 libcmt.lib (new.obj) 파일에 정의되어

더 비슷한 오류가 더 있습니다 delete, new[] 그리고 delete[].

나는 그물에 대한 여러 기사를 확인했으며 대부분은 CRT와 MFC DLL 사이의 충돌이라고 말합니다. (픽업 된 순서). 한 기사에서는 프로젝트 설정에서 충돌하는 LIB를 무시 LIB 목록에 추가하는 것이 좋습니다.

그렇게하면 한 가지 오류가 남아 있습니다.

오류 LNK2001 : 해결되지 않은 외부 기호 __afxforceexclude 파일 : lman.lib

오류는이 프로젝트 (미국이 개발 한 LIB)에 의해 참조되는 LIB를 가리 킵니다.

이것을 고치는 방법에 대한 아이디어가 있습니까? 나는 이것이 VS 2008로 이주하는 사람들에게 일반적인 문제가 될 것이라고 확신합니다.

도움이 되었습니까?

해결책

그것을 해결했습니다.

uafxcw.lib를 배제 할 필요는 없었습니다. MFC DLL이 사용되지 않았는지 확인해야했습니다. 우리의 lib lman.lib는 필요하지 않은 afxdisp.h (mfc dll)를 사용하고있었습니다. 나는 그 프로젝트에서 포함을 제거한 다음 Voila를 제거했습니다! - 빌드가 성공했습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top