隨記

1、關於預編譯錯誤 fatal error C1083: Cannot open precompiled header file

解決方法,一般在屬性-》c/c++ ->預編譯頭中-》不適用預編譯頭 詳細解釋:http://panpan.blog.51cto.com/489034/104397

2、

修改預編譯文件(一般是stdafx.h和stdafx.cpp),就會出現預編譯錯誤,一般爲如下三個:
1、“fatal error C1083: 無法打開預編譯頭文件:“Debug/DSMS.pch”: No such file or directory”
2、error C2859: ..../vc80.pdb 不是創建此預編譯頭時使用的 pdb 文件,請重新創建預編譯頭。
error C2859: ...../vc80.idb 不是創建此預編譯頭時使用的 idb 文件,請重新創建預編譯頭。
3、error LNK2001: 無法解析的外部符號 "int __cdecl _AfxInitManaged(void)" (?_AfxInitManaged@@YAHXZ)

下面我們來人爲的製造這三個錯誤,藉此來說明原因。
新建一個MFC項目,修改stdafx.cpp爲“使用預編譯頭”,刪掉項目的Debug文件夾,生成就會出現第一個錯誤。
新建一個MFC項目,生成,修改stdafx.cpp爲“使用預編譯頭”,用菜單中的“清理項目”清理,重新生成就會出現第兩個錯誤。
新建一個MFC項目,生成,修改stdafx.cpp爲“使用預編譯頭”,重新生成就會出現第三個錯誤。

解決辦法:這三個錯誤可以用一個辦法解決,右鍵你項目的預編譯文件(stdafx.cpp)――>屬性――>配置屬性――>C/C++――>預編譯頭――>創建/使用預編譯頭選擇創建預編譯頭->重新生成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章