有关无法打开预编译头文件错误的思考

作者:朱金灿

来源:http://blog.csdn.net/clever101


        以前时不时遇到有关无法打开预编译头文件的错误,具体错误信息大致如下:

fatal error C1083: 无法打开预编译头文件:“Debug/UGFace.pch”: No such file or  directory  

以前总是想不明白为何出现这个错误。今天同事又问我这个问题,在一刹那我突然想明白了这个问题。

 

        我的思考过程是这样的:既然错误提示是UGFace.pch不存在,那么就是说它没有生成。那么问题来了,为什么UGFace.pch没有生成,它又是由哪个文件生成的呢?我们知道预编译头文件主要是将系统库(如Windows SDK)的常用头文件都放到一个头文件stdafx.h里包含,那么xxx.pch就是通过stdafx.cpp生成的。而stdafx.cpp没有生成xxx.pch是因为没有设置它的属性为创建预编译头,实际上很多时候不知为何把它设为了使用预编译头。因此需要在stdafx.cpp的属性设置中将它设为创建预编译头,具体如下图:

        注意工程的预编译头属性还是使用预编译头,网上很多以讹传讹的文章说是把工程属性改为不使用预编译头,应该说这种办法也能解决问题,但毫无疑问没有使用预编译头会大大降低编译效率。

posted on 2015-09-25 22:50  岚之山  阅读(277)  评论(0编辑  收藏  举报

导航