최근 VC 6.0을 작업하던 중 여러 곳에서 매우 짜증나는 오류를 만났습니다. 다음 오류가 발생합니다. 연결 중... nafxcwd.lib(afxmem.obj) : 오류 LNK2005: "void * __cdecl 연산자 new(unsigned int)"(??2@YAPAXI@Z)가 LIBCMTD.lib( new에 이미 정의되어 있습니다. obj) nafxcwd.lib(afxmem.obj): 오류 LNK2005: "void __cdecl 연산자 삭제(void *)"(??3@YAXPAX@Z)가 LIBCMTD.lib(dbgdel.obj) 디버그/DCap에 이미 정의되어 있습니다. 치명적인 오류 LNK1169: 하나 이상의 다중 정의 기호가 발견되었습니다. 해결 방법: 이러한 오류의 경우 링크된 두 라이브러리가 모두 동일한 이름의 함수를 제공한다는 것이 분명합니다. 그러나 물론 C 라이브러리이기 때문에 LIBCMTD.lib를 직접 무시하는 것은 불가능합니다. 이러한 문제가 발생하는 이유는 MFC의 라이브러리가 C의 라이브러리와 충돌하기 때문이며, 링크되는 순서, 즉 nafxcwd.lib를 먼저 설정한 다음 LIBCCMTD.lib를 설정해야 합니다. 하지만 둘 다 기본 라이브러리이므로 순서를 어떻게 설정합니까? 해결 방법: 먼저 무시한 다음 추가로 추가하세요. 즉, 링크 탭의 라이브러리 무시에 nafxcwd.lib libcmtd.lib를 입력한 다음 동일한 탭의 개체/라이브러리 모듈에 nafxcwd.lib libcmtd.lib를 입력합니다. 이러한 방식으로 추가되는 순서는 우리가 강제로 설정해야 하는 순서가 됩니다. ?
확장하다