我繼承了一些代碼,做了這樣的事情,在VS2010中定義的C++預編譯頭。編譯器無法找到
頁眉:HeaderFile.h
#ifndef HEADERFILE_H
#define HEADERFILE_H
#ifndef HEADERFILE_PCH_H
#include<LibStuff>
#include<LibStuff2>
#include<LibStuff3>
#include<LibStuff4>
#include<LibStuff5>
#endif
#include "FilesInProject"
Class A
{
//Code
};
#endif
.cpp的:HeaderFile.cpp
#include "HeaderFile_pch.h" //(1)
#include "HeaderFile.h"
//More code
我明白了什麼一個預編譯的頭文件用於和代碼在這裏做什麼(有點)。當我將這些文件複製到我的項目中時,這是我可以更新棄用的代碼,但不會影響原始項目,VS2010在(1)
行上發生堵塞。 VS2010說它無法找到該文件。
我已經走過了兩個項目,我找不到任何設置上的差異。
我錯過了什麼,爲什麼可以將PCH
的標題嵌入這樣的標題中,而不是將它們移動到名爲HeaderFile_pch.h
的文件中。這是一種宏觀黑客?
.pch是* binary *文件。這聽起來像你的失蹤(或腐敗)。你不能只刪除(如果存在)並自己重建.pch文件嗎? http://msdn.microsoft.com/en-us/library/xe090yxk%28v=vs.80%29.aspx – paulsm4
嗯,這感覺就像我錯過了自動英特爾警告文件,但我不知道爲什麼。看起來他在頭文件中定義了缺少的「文件」,並且可以引用它,但我不知道如何。 – Dan