分类: C/C++
2012-08-02 14:37:57
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++――>预编译头――>创建/使用预编译头,选择创建预编译头->重新生成。