본문 바로가기

MSVCRT

error LNK 2005 xxxx이(가) MSVCPRT(D).lib 혹은 LIBCPMT(D).lib 에 이미 정의되어 있습니다.. 오류날때 대처방법 2011/06/13 - [C..C++....] - error LNK 2005 xxxx이(가) MSVCRT(D).lib 혹은 LIBCMT(D).lib 에 이미 정의되어 있습니다.. 오류날때 대처방법 MSVCPRT(d).LiB나 LIBCPMT(d).LIB 도 위에 나온 글과 같은 세팅문제로 생기는 문제입니다.. MSVCRT.LIB나 LIBCMT.LIB는 C Run-Time Libaray(CRT)에 관련된 파일이고 MSVCPRT(d).LiB나 LIBCPMT(d).LIB는 Standard C++ Libaray로 인해 생기는 문제입니다.. 이러한 문제가 생기는 원인을 간략히 설명하자면.. msvcrt 같은경우는 c 에서 사용하던 함수 예를들어 printf로 설명을 드리면 printf함수 하나를 가지고 총 6가지의.. 더보기
error LNK 2005 xxxx이(가) MSVCRT(D).lib 혹은 LIBCMT(D).lib 에 이미 정의되어 있습니다.. 오류날때 대처방법 error LNK2005: _printf이(가) MSVCRTD.lib(MSVCR100D.dll)에 이미 정의되어 있습니다. F:\Project\GGangster\GGangster\libcmtd.lib(printf.obj) ...... ..... 수많은 오류가 나왔다.. 이와 같은 설정의로 에러를 경고로 나오게끔 하는 방법이 있지만 근본적인 해결방법도 아니고 수없이 많은 warning도 보기 좋지 않다.. 일단 이 오류가 나오는 원인은 빨간 색 부분의 런타임 라이브러리때문에 생기는 문제이다... 프로젝트를 진행하다 보면 외부 라이브러리를 많이 사용하게 되는데. 외부 라이브러리는 MT(d)로 컴파일 되어있으나 내가 사용하는 프로젝트는 MD(d)로 되어 있으면 어김없이 LINK2005 오류가 발생하게 된다.... 더보기