VC++에서 코딩을 하다 발생하는 아래와 같은 에러..

영문판 VS : fatal error C1010: unexpected end
of file while looking for precompiled header directive
한글판 VS : 미리 컴파일된
헤더지시문을 찾는동안 예기치 않은 에러가 발생하였습니다.

이같은 에러가 발생하는 원인을 찾아보자.
MFC 응용프로그램으로
생성된 프로젝트를 개발하다가 외부에서 개발된 Ansi C/C++용 코드를 Include 할때 사용할때 위와 같은 에러를 흔히
접한다.
MFC 응용프로그램으로 생성된 프로젝트는 프로젝트에 새로 추가된 파일은 기본적으로 MFC 소스로 생각하여, 새로 추가된
소스파일(.cpp)에 “stdafx.h”가 있어야 컴파일 되도록 설정해놓는다.
근데 우리가 새로 가져온 파일이 Ansi C/C++용
코드라면 소스파일(.cpp)에 “stdafx.h”가 있을리가 없다!! 그래서 에러가 발생하게 되는것이다.

자 이제 원인을 알았으니,
해결방법을 알아보자.
전체 프로젝트 셋팅을 바꾸면 안된다. 왜냐하면 기존 소스는 MFC로 개발된 소스이기 때문이다. 새로
프로젝트에 추가한 파일들에 대한 컴파일 옵션만 변경하도록 하자.

1) Visual Studio 6.0에서는 아래와
같은 순서로 하면 된다.

  Project -> Project Setting -> 좌측에서 원하는
소스파일(.cpp) 선택 -> C/C++ 탭 선택 ->Category에서 Precompiled Header 선택 -> Not
using percompiled headers 선택

2) Visual Stuido 2003 .NET에서는 아래와
같은 순서로 한다.

① 보통 오른쪽 상단에 배치되어 있는 [솔루션 탐색기] 에서 새로추가한 파일들을
Ctrl+마우스왼쪽버튼클릭으로 일일이 선택
② 마우스 오른쪽 버튼 클릭 -> [속성] 클릭 -> [C/C++] 클릭

[미리컴파일된 헤더] 클릭 -> 미리 컴파일된 헤더만들기/사용 에서 미리 컴파일된 헤더 사용 안 함 으로 변경

Leave a Reply

Your email address will not be published. Required fields are marked *