1월, 2015의 게시물 표시

cocos2d-x 샘플 cpp-tests 빌드 중 fatal error LNK1104: cannot open file 'LIBCMT.lib'

이미지
cocos2d-x 3.3의 샘플을 비쥬얼 스튜디오 2013 커뮤니티 에디션으로 빌드시 제목과 같은 에러가 발생했습니다. 이상하네요 전 버전들은 이런거 없었던거 같은데 3.3의 문제인지 아니면 샘플 솔루션 파일이 cocos2d-win32.vc2012 던데 비쥬얼 스튜디오 2013이랑 버전이 안 맞아서 그러는지...

 아무튼 해결책은 프로젝트 속성 - Linker - Input - Ignore Specific Default Libraries에 libcmt.lib를 추가하면 됩니다. 이민 디버그용인 libcmtd는 추가가 되어 있더군요.

error LNK2026: module unsafe for SAFESEH image.

이미지
SAFESEH(Safe Exception Handlers)가 뭔지는 모르겠으나 아무튼 에러 그대로 모듈이 SAFESEH 이미지에 대해 안전하지 않다는 에러입니다.


 문제를 일으키는 LIB를 SAFESEH 옵션을 사용해 다시 컴파일 해도 될 듯 하지만 위와 같이 exe 프로젝트의 속성 -> Linker -> Advanced -> Image Has Safe Exception Handlers를 NO 로 설정하고 빌드하면 잘 되는군요.

fatal error LNK1104: cannot open file 'LIBCD.lib'

이미지
10년도 더지난 오래된 프로젝트(아마도 비쥬얼 C++ 6.0으로 개발되었던?)를 비쥬얼 스튜디오 커뮤니티 2013 Update4로 빌드하려니 제목과 같은 링크에러가 발생했습니다.

 뭐 강산도 변했으니 당연한 결과이겠거니 하고 구글링해보니 해당 파일은 싱글 쓰레드용 라이브러리인데 비쥬얼 스튜디오 2005부터는 이를 지원하지 않고 멀티 쓰레드용을 사용해야 한다는 것 같네요.

 해결책은 프로젝트 속성 -> Linker -> Input -> Ignore Specific Default Libraries에 LIBCD.LIB를 추가해서 무시하면 됩니다.