我正在尝试升级旧的解决方案以使用VS2010(VC100)。
我进行了设置,以便stdafx.cpp从stdafx.h创建一个预编译的头文件stdafx.pch。然后,指示所有其他包含stdafx.h的.cpp文件使用预编译头。
这些帖子帮助我实现了以下目标:
现在,当我在 Release模式下构建时,一切都很好。但是,当我尝试在 Debug模式下进行构建时,会收到一堆错误消息:
Error 1 error C2859: [removed]\debug\vc100.idb is not the idb file that was used when this precompiled header was created, recreate the precompiled header.
我相信此.idb文件是Visual Studio创建的中间调试文件。
为什么会出现此错误?换句话说,为什么它在创建预编译头时不使用此.idb文件?
我不确定您需要什么进一步的信息才能给我答复,所以请问是否需要提供更多信息。
最佳答案
多亏了一位同事,我才得到了答案。
问题在于stdafx.cpp的Debug Information Format(调试信息格式)设置为Program Database(/Zi),而所有其他文件的Debug Information Format设置为Program Database for Edit and Continue(/ZI)。
将它们全部更改为Program Database for Edit and Continue(/ZI)并进行完全重建可以解决此问题。
我想升级会以某种方式搞砸了。
关于visual-c++ - 尝试在 Debug模式下将预编译 header 与VS2010(VC100)一起使用时,如何消除错误C2859?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3155583/