这个错误的根源在于,编译器发现有源文件(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 >,相信应该就比较清楚了。
【END】