-
미리 컴파일된 헤더 오류개발/C·C++ 2019. 8. 20. 14:41
미리 컴파일된 헤더를 사용하기 위해 [미리 컴파일된 헤더]를 [사용]으로 변경하고 stdafx.h 혹은 사용하고자 하는 헤더를 새롭게 지정해서 헤더 파일을 만들었지만 오류가 발생했다. 옵션을 [만들기]로 변경한 뒤에는 미리 컴파일된 헤더 오류는 사라졌지만 [다중 프로세서 컴파일] 옵션과 충돌이 일어났다. 근본적인 해결방법 방법은 다음과 같다.
1. 프로젝트의 [속성 페이지]에 들어간다.
2. [C/C++]-[미리 컴파일된 헤더]에서 [미리 컴파일된 헤더]를 [사용(/Yu]로 바꾼다. 헤더 파일은 기본이 stdafx.h으로 되어 있다.
3. 모든 헤더에 stdafx.h를 인클루드한다(stdafx.h를 안 만들었으면 만든다).
4. stdafx.cpp를 만든다.
5. stdafx.cpp의 [속성 페이지]를 들어가 [C/C++]-[미리 컴파일된 헤더] 옵션에서 [미리 컴파일된 헤더]를 [만들기(/Yc)]로 설정한다.
미리 컴파일된 헤더는 크게 두 단계를 거친다.
1. 컴파일러가 stdafx.cpp를 컴파일하기 때문에 stdafx.h에 미리 컴파일 하려는 헤더를 넣어두면 되며 stdafx.cpp를 컴파일하면 이들이 포함된 상태로 .pch 파일이 만들어진다.
2. 실제 소스 코드에서는 stdafx.h를 인클루드한다. 컴파일러가 이 헤더를 만나면 이에 대응하는 .pch를 읽기 때문에 미리 컴파일된 헤더에 넣어둔 헤더들은 재컴파일이 되지 않는다.
출처:https://stackoverflow.com/questions/6096384/how-to-fix-pch-file-missing-on-build
'개발 > C·C++' 카테고리의 다른 글
간과할 수 있는 문자열 비교 실수 (0) 2019.10.01 pragma once는 만능이 아니다 (0) 2019.09.17 미리 컴파일된 헤더를 쓰면서 생긴 문제 하나 (0) 2019.09.14 이 작업을 수행하기 위해 이 파일과 연결된 앱이 없습니다 (0) 2019.08.20 비주얼 스튜디오에서 [언어 확장] 옵션 (0) 2019.08.16