달력

112018  이전 다음

  •  
  •  
  •  
  •  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  •  
출처 : http://icartsh.tistory.com/
출처 :
http://msdn.microsoft.com/ko-kr/library/6wtdswk0(v=VS.100).aspx
http://msdn.microsoft.com/ko-kr/library/abx4dbyh(v=VS.100).aspx

error LNK2005: _printf이(가) MSVCRTD.lib(MSVCR100D.dll)에 이미 정의되어 있습니다.
이 오류는
프로젝트 속성에 C/C++ -> 코드 생성-> 런타임 라이브러리 : 다중 스레드 디버그 DLL(/MDd) 때문에 발생한다고 한다.
외부 라이브러리가 MT(d)로 컴파일 되어있지만 내가 사용하는 프로젝트가 MD(d)로 되어 있으면 발생는 것으로
옵션을 MT(d)나 MD(d)로 모두 통일 하면 되지만
라이브러리의 소스가 존재하지 않을때에는
아래와 같이 해야한다.

사용할 런타임 라이브러리 무시해야 하는 라이브러리
단일 스레드(libc.lib) libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib
다중 스레드(libcmt.lib) libc.lib, msvcrt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib
DLL을 사용하는 다중 스레드(msvcrt.lib) libc.lib, libcmt.lib, libcd.lib, libcmtd.lib, msvcrtd.lib
디버그 단일 스레드(libcd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcmtd.lib, msvcrtd.lib
디버그 다중 스레드(libcmtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, msvcrtd.lib
DLL을 사용하는 디버그 다중 스레드(msvcrtd.lib) libc.lib, libcmt.lib, msvcrt.lib, libcd.lib, libcmtd.lib


프로젝트 속성->링크->입력->즉정 기본 라이브러리 무시 : LIBCMTD.LIB
Posted by sukay