error c1854 미리 컴파일된 헤더를 개체 파일 some.obj 에 만드는 동안 구성된 정보를 덮어 쓸 수 없습니다

2015. 1. 20. 18:36책/삽질 헤프닝



error C1854: cannot overwrite information formed during creation of the precompiled header in object file



MSDS : http://msdn.microsoft.com/ko-kr/library/5a193hd8.aspx


some.cpp 에서 .pch 파일을 '/ Yc 만들기' 옵션으로 생성 해준 후

another.cpp 에서 '/Yc 만들기' 옵션을 설정 후, some.cpp 는 '/Yu 사용' 으로 바꾼 경우,


PCH 파일 some.obj 개체 에 만드는 동안 덮어 쓸수 없다는 오류가 발생한다


MSDN 링크를 참조하면, 동일한 파일에 pch /Yc 옵션 지정 후 /Yu 옵션을 재지정 할 수 없다고 한다. __desclspec dllexport 를 포함하는 선언등의 일부 선언은 이렇게 지정할 수 없다는 것.




해결: 기존에 만들어진 pch 파일을 삭제 후,some.cpp 는 /Yu 설정 상태에서 다시 만들어준다