본문 바로가기
나머지/IT개발.잡다한것.

VS2010 에러 error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

by 무늬만학생 2012. 10. 29.
반응형


1>msvcrt.lib(crtexew.obj) : error LNK2019: unresolved external symbol _WinMain@16 referenced in function ___tmainCRTStartup

1>C:\File\Image\GrayImage\Release\GrayImage.exe : fatal error LNK1120: 1 unresolved externals

프로젝트 오른쪽버튼 클릭-> 속성-> 링커 > 시스템 -> 섭시스템 윈도우로 바꾸거나 콘솔로 바꿔서 안되면 

프로젝트 오른쪽버튼 클릭-> 속성-> 링커 > 커맨드라인에    /ENTRY:"wWinMainCRTStartup"    <<<이걸 추가하면 해결.



참고 : 스택플로 ㅎㅎ 

http://stackoverflow.com/questions/6626397/error-lnk2019-unresolved-external-symbol-winmain16-referenced-in-function



스택플로에 누군가 If you use Unicode Character Set, but the entry wasn't set, you can specify /ENTRY:"wWinMainCRTStartup" 이렇게 써놓은걸 보고 참고 ㅋ 



201211월19일에 추가로 포스팅

VS6에서는 프로젝트 생성시 기본적으로 "_MBCS"로 생성된다.

   - 이제 대세는 UNICODE인데... 갑갑하다.;; 저거때문에 MBCS 코딩을 하다보면 UNICODE에서 갑갑해진다. 

주로 "_MBCS"에서 "_UNICODE"로 define을 변경할 때에 발생한다. 

Error : "Error LNK2001: '_WinMain@16': Unresolved External Symbol" 

이유 : "_MBCS"일 경우 entry point는 "WinMain"

           "_UNICODE"일 경우에 entry point는 "wWinMainCRTStartup" 

이기 때문에 define은 변경 되었지만 entry point는 원래의 값을 가지고 있기 때문이다.  


 해결 : "Project Settings > Link[Tab] > Output[Category] > Entry-point symbol" 에 "wWinMainCRTStartup"<-- 당연, "_UNICODE" 일경우 "_MBCS"일 경우 "wWinMainCRTStartup" 삭제

출처 : http://blog.naver.com/cloverdark/30098104281


에러와는 상관없지만.... 

/MD, /MT, /LD (Use Run-Time Library)

http://msdn.microsoft.com/en-us/library/2kzt1wy3(v=VS.100).aspx


유용한 정보 얻으셨으면 아래 광고나 손가락 클릭해주세요~  (로그인 불필요합니다)


반응형

댓글1