0

VS2008에서 컴파일 될 때 다음 링커 오류를 제공하는 VC6에서 올바르게 컴파일되는 ATL COM 프로젝트가 있습니다.Visual Studio 2008의 Linker error 2005, 2001

error LNK2005: "void * __cdecl operator new(unsigned int)" ([email protected]@Z) already defined in libcmt.lib(new.obj) File: uafxcw.lib

delete, new[]delete[] 세 이상 유사한 오류가 있습니다.

나는 그물에 몇몇 기사를 체크 아웃하고 그들의 대부분은 CRT와 MFC dll 사이에 충돌이 있다고 말합니다. (주문받은 순서). 한 기사에서는 프로젝트 설정에서 충돌하는 lib를 무시 목록에 추가하는 방법을 제안합니다.

는 그래서, 나는 하나의 오류 왼쪽 오전를 답니다 :

error LNK2001: unresolved external symbol __afxForceEXCLUDE File:LMAN.Lib

오류 지점이 프로젝트 (우리가 개발 한 LIB) 참조하는 LIB에.

해결 방법에 대한 의견이 있으십니까? 나는 이것이 VS 2008로 마이그레이션하는 사람들에게 공통적 인 문제가 될 것이라고 확신합니다.

답변

1

해결되었습니다.

uafxcw.lib를 제외하지 않아도됩니다. MFC dll이 사용되지 않았는지 확인해야했습니다. 우리의 lib LMAN.lib는 필요하지 않은 Afxdisp.h (MFC dll)를 사용하고있었습니다. 나는 그 프로젝트에서 포함을 제거하고 그 다음에 실망했다! - 빌드가 성공했습니다.