-
[Visual Studio] LNK2019, LNK1120C++/미분류 2022. 6. 13. 14:35
LNK2019 : main"int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ) 함수에서 참조되는 확인할 수 없는 외부 기호
LNK1120 : 1개의 확인할 수 없는 외부 참조입니다.위 메시지는 프로그램의 진입점을 찾지 못해서, 혹은 설정이 잘못되어서 출력되는 메시지 입니다.
발생 원인은 여러가지가 존재하겠지만, 제가 겪어본 사례들과 해결 방법을 나열해보도록 하겠습니다.
1. 프로젝트 구성 형식 변경
더보기프로젝트 속성 페이지 (프로젝트 우클릭 -> 속성)에서 구성 형식을 변경합니다.
CUI, GUI의 경우에는 애플리케이션으로 설정할 수 있습니다.
main함수가 필요하지 않은 라이브러리 (.lib, .dll)의 경우는 각각 상황에 맞게 설정할 수 있습니다.
2. 링커 하위 시스템 변경
더보기콘솔 프로그램의 경우 시작점이 main함수 이지만, WinAPI의 경우는 시작점이 WinMain함수 입니다.
이에 따라 링커가 선택하는 시작점 함수를 변경하지 않을 경우, 에러 메시지가 출력 될 수 있습니다.
콘솔 프로그램의 경우 콘솔로 설정할 수 있습니다.
GUI 프로그램의 경우 창으로 설정할 수 있습니다.
그 외에 여러 설정에 대해서는 차후 다룰 수 있도록 하겠습니다.
감사합니다.
'C++ > 미분류' 카테고리의 다른 글
[C++] 랜덤 이벤트 (확률) 구현하기 (0) 2022.10.06 [Visual Studio] Code style 변경하기 (BSD, K&R) (0) 2022.09.14 [WinAPI] Edit Control에서 Enter키 입력 받기 (0) 2022.06.22 [Visual Studio] Solution & Project (0) 2022.06.07 [C++] Boost 라이브러리 설치 & Visual Studio 설정 (0) 2022.03.10