fatal error C1083: 无法打开预编译头文件:“Debug64\npKq2OaScript.pch”: No such file or directory

44 篇文章 0 订阅

环境:win7,64位,vs2008

问题:1>npKq2OaScript.cpp(3): fatal error C1083: 无法打开预编译头文件:“Debug64\npKq2OaScript.pch”: No such file or directory
         npKq2OaScriptCtrl.cpp

解决:项目右键->属性->C/C++ ->预编译头->使用预编译头(/Yu)

           stdafx.cpp右键->属性->C/C++ ->预编译头->使用预编译头(/Yc)

ps:为什么需要预编译头文件?

一言以蔽之:提高编译速度.一般地,编译器以文件为单位编译。如果修改了一工程中的一个文件则所有文件都要重新编译,包括头文件里的所有东西(eg.Macro宏,Preprocessor预处理),而VC程序中,这些头文件中所包括的东西往往是非常大的,编译之将占很长的时间。但它们又不常被修改,是较稳定的,为单独的一个小文件而重新编译整个工程的所有文件导致编译效率下降,因此引入了.PCH文件。
如何使用预编译头文件以提高编译速度?
要使用预编译头文件,必须指定一个头文件(.H),它包含我们不会经常修改的代码和其他的头文件,然后用这个头文件来生成一个预编译头文件(.PCH),VC默认的头文件就是StdAfx.h,因为头文件是不能编译的,所以我们还需要一个.CPP文件来作桥梁,VC默认的文件为StdAfx.cpp,这个文件里只有一句代码就是:#include "StdAfx.h"。接下来要用它生成.PCH文件,涉及到几个重要的预编译指令:/Yu,/Yc,/Yx,/Fp。简单地说,/Yc是用来生成.PCH文件的编译开关。在Project->setting->C/C++的Category里的Precompiled Header,然后在左边的树形视图中选择用来编译生成.PCH文件的.CPP文件(默认即StdAfx.cpp),你就可以看到/Yc这个开关,它表示这个文件编译了以后是否生成.PCH文件(可能/Yc的c表示create)。/Fp指令指定生成的.PCH文件的名字及路径(可能/Fp的p代表path)。/Yu的u即use,工程中只要包括了.H文件的文件都会有这个/Yu指令。如果选择自动Automatic...的话则原来为/Yc的地方就换成了/Yx指令。如果选择自动,则每次编译时编译器会看以前有没有生成过.PCH文件,有则不现生成否则就再次编译产生.PCH文件。

参考:http://hi.baidu.com/andywangcn/item/b9fe75545d32149308be17db

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值