今天编译一个项目遇到以下这个问题:无法打开包括文件:“stdafx.h”: No such file or directory
找不到预编译头文件stdafx.h,而实际上工程中是有这个文件的,#include的路径也是正确的。
于是上网一顿狂搜,始终无果。所以只好使出杀手锏了,直接把单个文件取消预编译的使用。
点击文件 -〉属性-〉C/C++ -〉预编译头, 创建/使用预编译头 选项原来选择了 ”不使用预编译头“ 。这是才恍然大悟,这个cpp文件是从其他项目拷贝过来的,也许那个项目是不适用预编译头的,而我的项目却#include了预编译头,所以产生了错误,修改即可。只是VS这错误提示信息有点牛头不对马嘴啊,云里雾里 ,一点看不出错误原因,哎。
修改后:
顺利通过编译,yeah。
另外stdafx.cpp文件的预编译头属性必须为 ”创建预编译头“,否则PCH文件找不到。 其他都是"使用预编译头",包括项目属性。
其他参考:
http://blog.youkuaiyun.com/skiing_886/article/details/7860524