Win32 , C++

NAFXCW.lib, libcmt.lib ~~~~ operator new

김모작자 2012. 4. 25. 16:25

세상에서 제일 짜증나는게

콘솔 프로젝트 빌드했더니

1>nafxcw.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z)이(가) LIBCMT.lib(new.obj)에 이미 정의되어 있습니다.
1>nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z)이(가) LIBCMT.lib(delete.obj)에 이미 정의되어 있습니다.
1>c:\users\administrator\documents\visual studio 2010\Projects\2012\Release\mediaServer.exe : fatal error LNK1169: 여러 번 정의된 기호가 있습니다.

이딴 에러가 나는 경우다

이건 C Runtime Library 와 MFC 라이브러리의 importing 순서 때문에 발생하는거라고 한다.

따라서

Link 탭에 추가 종속성(Additional Libraries) 에 nafxcw.lib; libcmt.lib;  두개를 추가해주면 되겠다.