2016년 8월 24일 수요일

Visual Studio 2010 MFC 빌드 링크 에러중 하나.

2008에서 빌드해서 쓰던 static 라이브러리를 2010으로 프로젝트만 변환해서 빌드하고라이브러리를 포함해서 빌드 하면 링크 에러중 아래와 같은 에러가 발생 하게 되는 경우가 있다.
LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)
..검색하다 문제점을 발견 하였는데.
원인은 해당 디버그 라이브러리가 C/C++ 빌드 런타임 옵션이 "Multi-threaded Debug(Mtd)" 이고
링크해서 쓰는 소스 프로젝트에서는 C/C++ 빌드 런타임 옵션이 "Multi-threaded Debug DLL(MDd)" 이여서 링크 에러가 발생 하는 문제 였다.
라이브러리 빌드 옵션을 가져다 쓰는 프로젝트와 옵션을 맞추어 빌드 하니 정상 동작을 하였다.

댓글 없음: