차근차근/OpenCV

error LNK2019: _main 외부 기호(참조 위치: ___tmainCRTStartup 함수)에서 확인하지 못했습니다.

예쁜꽃이피었으면 2014. 7. 31. 09:14

http://skmagic.tistory.com/entry/error-LNK2019-main-%EC%99%B8%EB%B6%80-%EA%B8%B0%ED%98%B8%EC%B0%B8%EC%A1%B0-%EC%9C%84%EC%B9%98-tmainCRTStartup-%ED%95%A8%EC%88%98%EC%97%90%EC%84%9C-%ED%99%95%EC%9D%B8%ED%95%98%EC%A7%80-%EB%AA%BB%ED%96%88%EC%8A%B5%EB%8B%88%EB%8B%A4



MSVCRTD.lib(crtexe.obj) : error LNK2019: _main 외부 기호

(참조 위치: ___tmainCRTStartup 함수)에서 확인하지 못했습니다.

C:\경로~\D3D_Normal.exe : fatal error LNK1120: 1개의 확인할 수 없는 외부참조입니다.

D3D_Normal_2 - 오류: 2개, 경고: 0개

========== 빌드: 성공 0, 실패 1, 최신 0, 생략 0 ==========



가끔 동료나 후배들이 프로젝트가 문제없는데, 왜 에러나냐고 이런 에러가있는 프로젝트를 주곤한다.

___tmainCRTStartup를 찾을 수 없다는 것은 CALLBACK함수인 main()을 찾지 못했다는 것이다.


즉 main() 함수가 없을때 발생하는 에러.


그런데 우린 main()함수가 있다? 이는 어찌된것인가?

-> 그렇다면 프로젝트 설정문제다. 

메뉴에서 프로젝트 > 속성 > 구성 속성 > 링커 > 시스템 > 하위 시스템에서 자신이 만들려는 프로젝트와 맞는 설정으로 바꿔준다. 


하위 시스템 설정


※ 비주얼 스튜디오로 프로젝트를 새로 작성할때 Win32에 두개의 템플릿을 선택할 수 있는데, 작성하고자 하는 프로그램과 다른 템플릿을 선택했을경우 위와 같이 에러가 난다. 

콘솔에서는 프로그램의 시작점이 main(), 윈도우 프로그래밍에서는 WinMain()이 시작점이라서 그런것이다.


그럼 수고~



+ )

헌데 위의 경우말고 이런 경우도 있었습니다.

1) 미리컴파일된 헤더 사용: 함 으로 설정한 상태에서

2) 미리컴파일된 헤더내의 #include <windows.h>를 바깥으로 빼니깐 이런 오류가 발생하는 경우도 있더라구요.

그래서 다시 인클루드를 안으로 집어넣었더니 위의 에러가 해결됐었습니다.


혹시나 다른 분들도 이런 이유로 에러 걸리신 분들이 있을까봐 코멘트 남기고 갑니다. ㅋ






http://phiru.tistory.com/160





나의 경우 +)

Main

이라고 되어 있어서

main으로 바꿈


반응형