에러 메시지:
libc.lib(crt0.obj) : error LNK2019: _main 외부 기호(_mainCRTStartup 함수에서 참조)를 확인하지 못했습니다.
문제:
위 에서 보면 libc.lib에서 외부 참조에러가 있다는 의미이다. 즉 , libc.lib에서 crt0.obj라는 곳에서 _main 외부 기호를 찾는데 실패해서 에러가 발생했다는 것이다. main 보통 콘솔 모드에서 사용되는 것으로서 윈도우 프로그램 개발시 발생한다.
즉, 이 원인의 가장 큰 이유가 콘솔용 라이브러리를 윈도우에서 사용하는 경우 발생한다. 일단, MSDN에서 해당 함수가 콘솔용인지 윈도우용인지 확인하여 가급적이면 윈도우용을 사용하는 것이 좋다. 그렇다고 해서 사용할 수 없다는 것은 아니다. 아래와 같이 해주면 에러 없이 컴파일된다.
해결:
링크시 위 라이브러리를 강제적으로 배제 시킴.
아래 라이브리를 링크에 넣어주면 된다. 넣어주는 방법은
프로젝트 속성에서 디버그와 릴리즈를 각각 설정해준다.
항목중에 [linker]에서 입력>특정라이브리리 무시에 각각 다음을 추가해준다.
멀티 쓰레드 :
[디버그] libcmtd.lib, [릴리즈] libcmt.lib
싱글 쓰레드 :
[디버그] libcd.lib, [릴리즈] libc.lib
아니면 아래와 같이 직접 옵션을 넣어주면된다.
멀티쓰레드 :
[디버그]: /NODEFAULTLIB:"libcd.lib"
[릴리즈]: /NODEFAULTLIB:"libc.lib"
싱글쓰레드
[디버그]: /NODEFAULTLIB:"libcmtd.lib"
[릴리즈]: /NODEFAULTLIB:"libcmt.lib"
LIBCMTD.lib(crt0.obj) : error LNK2019: _main 외부 기호(_mainCRTStartup 함수에서 참조)를 확인하지 못했습니다
'3.구현 > VC++' 카테고리의 다른 글
[MFC] 256색 이상 툴바 사용 (0) | 2012.08.14 |
---|---|
[Error]외부참조 LNK1120에러 중 GetRuntimeClass... (0) | 2012.08.14 |
[ERROR] 자동화 서버가 객체를 생성할 수 없습니다 (0) | 2012.08.14 |
[error] Building MFC application with /MD (0) | 2012.08.14 |
Visual Studio 2003에서 "Find in Files"실행 도중 멈춤 (0) | 2012.08.14 |