본문 바로가기
Programming/C & C++

error LNK2005: xxxx 이(가) msvcprtd.lib(MSVCP80D.dll)에 이미 정의되어 있습니다.

by leanu 2012. 8. 25.

각 프로젝트 별로 "런타임 라이브러리" 형식을 모두 맞춰야 한다. 한가지라도 틀리게 되면 연관된 모든 라이브러리가 링킹 에러를 내뱉게 된다.


Visual C++ : 솔루션 탐색기에서 프로젝트 선택 -> 마우스 우클릭 후 '속성' -> 구성 속성 -> C/C++ -> 코드생성 -> 런타임 라이브러리 의 값을 하나의 값으로 모두 통일함( 다중스레드 디버그(/MTd) 나 다중쓰레드 디버그DLL(/MDd) ) 



Error Pattern



오류 404 error LNK2005: "public: bool __cdecl std::ios_base::fail(void)const " (?fail@ios_base@std@@QEBA_NXZ)이(가) msvcprtd.lib(MSVCP80D.dll)에 이미 정의되어 있습니다.


오류 405 error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,struct std::char_traits<char> > &)" (?endl@std@@YAAEAV?$basic_ostream@DU?$char_traits@D@std@@@1@AEAV21@@Z)이(가) msvcprtd.lib(MSVCP80D.dll)에 이미 정의되어 있습니다.


오류 406 error LNK2005: "public: void __cdecl std::basic_ifstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (??_D?$basic_ifstream@DU?$char_traits@D@std@@@std@@QEAAXXZ)이(가) msvcprtd.lib(MSVCP80D.dll)에 이미 정의되어 있습니다.


오류 407 error LNK2005: "public: __cdecl std::ios_base::operator void *(void)const " (??Bios_base@std@@QEBAPEAXXZ)이(가) msvcprtd.lib(MSVCP80D.dll)에 이미 정의되어 있습니다.

오류 408 error LNK2005: "public: void __cdecl std::basic_ofstream<char,struct std::char_traits<char> >::`vbase destructor'(void)" (??_D?$basic_ofstream@DU?$char_traits@D@std@@@std@@QEAAXXZ)이(가) msvcprtd.lib(MSVCP80D.dll)에 이미 정의되어 있습니다.

댓글