각 프로젝트 별로 "런타임 라이브러리" 형식을 모두 맞춰야 한다. 한가지라도 틀리게 되면 연관된 모든 라이브러리가 링킹 에러를 내뱉게 된다.
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)에 이미 정의되어 있습니다.
'Programming > C & C++' 카테고리의 다른 글
shell.c(332) : error C2440: '=' : 'void *'에서 'char *'(으)로 변환할 수 없습니다. 'void*'에서 'void'가 아닌 포인터로 변환하려면 명시적 캐스트가 필요합니다. (0) | 2012.08.28 |
---|---|
thrift 에서 C++ library 가 설치가 안되는 경우 (0) | 2012.08.27 |
template 형 typedef (0) | 2011.04.20 |
function pointer (0) | 2011.02.15 |
C++ Inheritance (public, protected, private) (0) | 2011.01.20 |
댓글