fatal error C1010: unexpected end of file while looking for precompiled header directive
에러는 “stdafx.h” 헤더 파일이 없어서 나오는 에러이다.
특정한 프로젝트에 복사해서 붙여 넣기 하기를 실행 할 경우 에러가 발생한다.
DLL 프로젝트를 만들면서 다른 프로젝트의 소스를 그대로 가져오는 경우, 컴파일 속성이 다르므로 간혹 이런 에러를 만나게 되는데 당황하지 말자.
해결방법은
#include “stdafx.h”를 추가 하거나
VC++의 Project -> Settings(Alt + F7) -> C/C++ 탭 -> Category: Precompiled Headers 에서
Not using precompiled headers를 지정한다
이는 Visual C++ 컴파일러는 미리 컴파일된 해더(Precompiled Head를 지원하고, 프로젝트 설정을 통해 대상 헤더를 지정할 수 있기 때문이다.
특히 MFC는 수정하지 않고 사용하는 헤더 수가 많기 때문에, 이 방식을 사용하면 매번 전체를 컴파일하지 않아 개발 속도가 빨라진다.
위와 같이 하게 되면 해당.cpp는 Precomplie 하지 않게 된다.
또다른 방법으로 general 탭 에서 exclude file from build 를 체크해주면 빌드시에 아예 제외하게 된다.
'개발언어 > c++' 카테고리의 다른 글
MFC 리스트의 열 높이 조절(Resize Row Height of CListCtrl) (0) | 2017.08.17 |
---|---|
MFC 문자열 배열 상수(#define CString[]),#define 문자열 (1) | 2017.08.15 |
popup Menu에 OnUpdateUI Event 매크로 시행하기(OnUpdateUI for popup menu) (0) | 2017.08.10 |
CImageList에서 Bitmap 추출하여 Menu에 이미지 달기 (0) | 2017.08.09 |
CMenu에 Image 추가하기 (0) | 2017.08.09 |