C언어 LNK 2005 main obj 오류 해결 방법


C언어 LNK 2005 main obj 오류는 소스파일의 다른 main() 함수가 있는 파일을 삭제하거나 지우면 해결 됩니다.

C언어 비주얼 스튜디오 LNK2005 오류

Hello World! 를 인쇄하는 아주 간단한 코드인데 실행을 해보면 LNK 2005, LNK 1169 오류가 발생합니다.

  • 오류 코드 LNK 2005 _main이(가) 시작.obj에 이미 정의되어 있습니다.
  • 오류 코드 LNK 1169 여러 번 정의된 기호가 있습니다.

C언어-main-obj-오류-1

그 이유는 같은 프로젝트에 main() 함수가 두 번 이상 사용되었기 때문입니다.

보통 프로젝트를 새로 생성하면, 프로젝트 명과 동일한 소스파일이 똑같이 자동 생성됩니다.

아래 그림을 보면 솔루션 탐색기에서 첫 번째 프로젝트라는 항목의 하위에 소스 파일을 클릭해봅니다. 그러면 프로젝트 명과 동일한 첫 번째 프로젝트.cpp 라는 파일이 자동 생성되어있는 것을 볼 수 있습니다.

C언어-main-obj-오류-2


이 소스파일 내부에 main() 함수가 이미 작성되어 있습니다.

해결 방법은 이 소스 파일을 삭제하거나 내부 내용을 모두 지우면 됩니다.

C언어-main-obj-오류-3

하나의 소스 파일에 여러 C언어 파일이 있는 것은 상관이 없습니다.

C언어-main-obj-오류-4

단 그림처럼 main() 함수가 적힌 파일은 단 하나만 존재해야 합니다. 그래야 코드가 실행됩니다.