您的位置:首页 > 运维架构

解决 Cannot open precompiled header file: 'Debug/****.pch'

2013-10-08 21:24 501 查看
要解决这个问题,首先要明白*.pch文件是什么。precompiled header = pch,也就是文件的预编译头。生成这个pch文件与stdafx.h和stdafx.cpp文件有关。做过大的C++工程的都知道,使用pch预编译头与不使用预编译头的编译速度简直是天壤之别,虽然有点夸张,但是使用这预编译头的确有很多好处。

如果项目比较大,需要包含的头文件比较多,比如windows.h和gl.h等,还有自己写的一些不需要经常修改的头文件,就可以包含在stdafx.h里边,接着stdafx.cpp里记得:

#include "stdafx.h"


再 右键stdafx.cpp-->Properties-->C/C++-->Precompiled Header-->Create Compiled Header(/Yc)。

接着其他的cpp按照上面的方法设置成使用编译头(/Yu),再重新生成项目,就能使用预编译头了。

之所以会产生标题所说的问题,有可能是因为项目的拷贝,造成生成的pch与当前的环境不匹配,如果Rebuild重新生成项目还出现这样的问题的话,就按照上面的方法从新设置即可,注意把stdafx.cpp设置成生成预编译头(/Yc),其他的cpp文件使用编译头就行了。

例子:

stdafx.h

#include <MATH.H>
#include <windows.h>
#include "htmlhelp.h"

#include "../DesignPattern/SingletonMethods.h"
#include "../Eigen/Eigen"


stdafx.cpp

#include "stdafx.h"


就可以设置一下使用预编译头技术了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐