我想升級一箇舊的解決方案來使用VS2010(VC100)。如何在調試模式下嘗試在VS2010(VC100)中使用預編譯頭時如何消除錯誤C2859?
我有它的設置,以便stdafx.cpp將從stdafx.h創建預編譯頭stdafx.pch。然後包含stdafx.h的所有其他.cpp文件都被指示使用預編譯頭。
這些職位幫助我走到這一步:
現在,當我建立在釋放模式一切都很好。然而,當我嘗試建立在調試模式下,我得到錯誤的整個堆說:
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文件?
我不確定你需要什麼進一步的信息才能給我答案,所以請問是否有更多的信息需要我提供。
發佈版本不會生成一個idb文件,因爲它只用於調試。因此,發佈版本的工作原理和調試沒有。 – Steiny 2010-07-01 22:11:46
默認情況下,發佈版本不會生成idb文件,但您可以配置(很可能是偶然)以便這樣做。 – 2010-07-02 00:02:07
謝謝,我想出了困難的方式哈哈。這一切都與調試信息格式設置有關。 – Steiny 2010-07-04 21:55:39