visual studio 컴파일시 발생하는 warning LNK4098 를 해결하고 싶습니다..
글쓴이: easyhe / 작성시간: 수, 2008/02/20 - 6:50오후
visual studio 2008 에서 컴파일을 하는데 경고가 뜨는데, msdn 에 나와 있는 방법으로도 해결이 안되서 질문 올립니다..
LINK : warning LNK4098: 'MSVCRT' defaultlib가 다른 라이브러리와 충돌합니다. /NODEFAULTLIB:library를 사용하십시오.
우선 런타임라이브러리를 확인했습니다.
선택되어 있는 런타임 라이브러리는 "다중스레드디버그dll" 이길래,
프로젝트속성>구성속성>링커>입력>특정라이브러리무시 를 선택해서
/NODEFAULTLIB:libc.lib /NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:msvcrt.lib /NODEFAULTLIB:libcd.lib /NODEFAULTLIB:libcmtd.lib
을 추가하였습니다.
그리고 다시 빌드를 해도 같은 에러가 계속 발생합니다..
다른 해결책은 없을까요.
고수님들 답변 기다리고 기다립니다... ^^
msdn 의 http://msdn.microsoft.com/library/kor/default.asp?url=/library/KOR/vccore/html/LNK4098.asp 을 참고했습니다.
Forums:
Re: 프로젝트가 여러개인가요?
프로젝트가 여러개인 경우에 저런 메세지가 뜨면,
굳이 특정 라이브러리 무시를 해 줄 필요 없이
모든 프로젝트의 런타임라이브러리를 똑같게 맞춰주면 됩니다.
보통 저 경고메세지는 여러개의 프로젝트로 구성된 솔루션을 빌드할 때,
솔루션 내의 프로젝트들이 서로 다른 런타임라이브러리 옵션을 사용하는 경우 나타납니다.
또한, 솔루션 내의 프로젝트들이 모두 똑같은 런타임라이브러리 옵션을 사용하고 있는경우에도
저 경고메세지가 나올 수 있는데, 그런 경우에는 추가적으로 링크하는 외부 라이브러리에 의해서인 경우가 대부분입니다.
감사합니다.
말씀해주신대로,
솔루션에 포함된 프로젝트들의 런타임라이브러리를 똑같이 맞추고,
"특정라이브러리무시"에 입력했던 값들을 모두 지웠습니다.
현재 컴파일이 잘되고 있습니다. 감사합니다. ^^
댓글 달기