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

本文详细解析了预编译头文件的生成原理,并针对出现的‘无法打开预编译头文件’错误,提供了解决方法。通过调整工程属性设置,确保预编译头文件正确生成,从而避免编译效率下降的问题。

作者:朱金灿

来源:http://blog.youkuaiyun.com/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的属性设置中将它设为创建预编译头,具体如下图:

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

评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

clever101

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值