`

fatal error C1083: Cannot open precompiled header file: 'Debug/xxoo.pch': No suc

阅读更多
fatal error C1083: Cannot open precompiled header file: 'Debug/xxoo.pch': No such file or directory

相信很多童鞋都遇到过这种问题,找不到pch文件,看这个描述肯定是与预编译头有问关系。(预编译头有神马作用就不说了,可以自己了解下)。一般遇到上面的问题很有可能是拷贝工程的时候,把stdafx.h stdafx.cpp文件删除了,而此时你即使把这两个文件再加入工程还是会报上面的错误。要重现这个错误也很简单,按上面的说法,新建一个标准工程,然后把stdafx.h stdafx.cpp文件删除,再编译肯定会报这个错误的。
这个错误的根源在于,编译器发现有源文件(CPP,C……)带有/Yu编译选项,但是找不到一个源文件带有/Yc选项,解决方法也就很明显了,至少有两个:
1、把所有源文件都设置为不使用预编译头,如果文件少还好说,如果多而且还在不同的Filter里面的话,那就坑爹了。


2、随意设定一个源文件为创建预编译头属性。当然最好还是加入 stdafx.cpp文件,并对其进行设置。注意到设置Precompiled Headers右边的第二行,Create/User PCH Through File,在这里指定创建预编译头针对的头文件。正常情况下(如果你没改动)应该是StdAfx.h文件,如果你另外指定了一个文件,那么需要在所有的源文件的最前面包含这个头文件,你懂的。如果你不怎么做,会报一个更“恐怖”的错误,fatal error C1010: unexpected end of file while looking for precompiled header。简直比坑爹还坑爹。相信这个错误遇到的人就更多了……


对于/Yc选项可以去看下MSDN上的描述<http://msdn.microsoft.com/en-us/library/7zc28563.aspx >,相信应该就比较清楚了。
转自:http://blog.csdn.net/magictong/article/details/6398135
http://msdn.microsoft.com/zh-cn/library/ee461145.aspx
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics