VC 으로 개발을 하다보면 종종 겪는 에러 입니다.
저는 stdafx.cpp 를 프로젝트에서 뺏다가 다시 추가했더니 이런 에러가 뜨더군요.
인터넷을 살펴보면 일반적으로
프로젝트 세팅 -> C/C++ 컴파일러 -> Precompiled Headers 에서
Create/Use Precompiled Header 항목을 Not Using Precompiled Headers 으로 해결하라고 합니다.
하지만 이 방법은 큰 프로젝트에서는 빌드시간이 늘어나는 단점이 있습니다.
위 설명대로 vc80.idb 를 새로 생성하면 됩니다.
솔루션 탐색기에서 stdafx.cpp 의 Property Page 를 열어서 Precompiled Headers 의
Create/Use Precompiled Header 항목을 Create Precompiled Header (/Yc) 으로 바꾼뒤에 빌드를 하면 새로 생성됩니다.
일반적으로 Precompiled Header 옵션으로 프로젝트를 생성하면 다른 cpp 파일은 Use Precompiled Header (/Yu) 인데 stdafx.cpp 만 Create Precompiled Header (/Yc) 임을 알 수 있습니다.
저는 stdafx.cpp 를 프로젝트에서 뺏다가 다시 추가했더니 이런 에러가 뜨더군요.
2>------ Build started: Project: XXXX, Configuration: Debug Win32 ------
2>Compiling...
2>XXXX.cpp
2>d:\XXXX\XXXX.cpp(4) : error C2859: d:\XXXX\debug\vc80.pdb is not the pdb file that was used when this precompiled header was created, recreate the precompiled header.
2>d:\XXXX\XXXX.cpp(4) : error C2859: d:\XXXX\debug\vc80.idb is not the idb file that was used when this precompiled header was created, recreate the precompiled header.
2>Build log was saved at "file://d:\XXXX\Debug\BuildLog.htm"
2>XXXX - 2 error(s), 0 warning(s) 인터넷을 살펴보면 일반적으로
프로젝트 세팅 -> C/C++ 컴파일러 -> Precompiled Headers 에서
Create/Use Precompiled Header 항목을 Not Using Precompiled Headers 으로 해결하라고 합니다.
하지만 이 방법은 큰 프로젝트에서는 빌드시간이 늘어나는 단점이 있습니다.
위 설명대로 vc80.idb 를 새로 생성하면 됩니다.
솔루션 탐색기에서 stdafx.cpp 의 Property Page 를 열어서 Precompiled Headers 의
Create/Use Precompiled Header 항목을 Create Precompiled Header (/Yc) 으로 바꾼뒤에 빌드를 하면 새로 생성됩니다.
일반적으로 Precompiled Header 옵션으로 프로젝트를 생성하면 다른 cpp 파일은 Use Precompiled Header (/Yu) 인데 stdafx.cpp 만 Create Precompiled Header (/Yc) 임을 알 수 있습니다.