본문 바로가기

정보/기술

c와 cpp 파일 같이 컴파일할 때의 오류 수정

c와 cpp 파일 같이 컴파일할 때의 오류 수정

 

구글 검색 키워드 : 미리 컴파일된 헤더 파일이 이전 버전의 컴파일러에서 만들어졌거나, 미리 컴파일된 헤더가 C++인데 C에서 사용하고 있거나 또는 그 반대의 경우입니다.

 

Vistual Studio에서 c 파일을 추가해서 컴파일 할 때 보게되는 오류 입니다.

 

미리 컴파일된 헤더 파일이 이전 버전의 컴파일러에서 만들어졌거나, 미리 컴파일된 헤더가 C++인데 C에서 사용하고 있거나 또는 그 반대의 경우입니다.

 

문제의 원인

Visual Studio에서 컴파일된 obj 파일을 링커에서 연결을 하는데, cpp를 컴파일한 obc 와 c로 컴파일한 obj 파일을 연결할 수 없다는 것입니다. 

해결하는 방법은 기준을 맞춰 주는 것입니다.

 

해결방법

기준을 맞춰주는 방법을 2가지 설명하겠습니다.

방법1. 컴파일 옵션을 C++코드로 컴파일(/TC)로 맞춰주기(혹은 반대로. 즉 C코드로 맞추기)

확장자 c 파일의 속성 페이지

컴파일 옵션의 기본값을 "C++ 코드로 컴파일 (/TP)로 변경

 

방법2. 미리 컴파일된 헤더 사용안함으로 셋팅

결론.

개발하다보면 여러가지 문제에 부딪치게 되죠. 하지만 그 문제를 하나하나 해결해 가는 것도 코딩하는 즐거움이라 생각합니다. 혹시 c와 cpp 컴파일시에 어려움이 있어서 자료를 찾고 계신분에게 이 글이 도움이 되었기를 바랍니다.