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

要解决这个问题,首先要明白*.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"

就可以设置一下使用预编译头技术了。

你可能感兴趣的:(解决 Cannot open precompiled header file: 'Debug/****.pch')