<stdafx.h>和&#34; stdafx.h&#34; </stdafx.h>之间的区别

时间:2015-01-05 15:09:16

标签: visual-c++

我有一个单元a.cpp,用于子目录libA中的几个项目。一些项目使用预编译头,而其他项目则不使用。在这种情况下,使用预编译头的项目必须包含以下行:

#include <stdafx.h>

并且未使用PCH的项目必须包含以下行:

#include "..\stdafx.h"

明智的诗句不起作用。

为什么项目在项目使用PCH时会以不同的方式看到stdafx.h文件?

UPD。

当我在使用预编译标头的项目中用#include <stdafx.h>替换行#include "..\stdafx.h"时出现错误

Error   19  error C1010: unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

两个项目中的目录结构相同。

1 个答案:

答案 0 :(得分:0)

<stdafx.h>"stdafx.h"之间没有(或不应该有)差异。唯一显着的区别是一个项目“看到”当前文件夹中的文件,另一个项目在父文件夹中看到它。这种差异由编译器选项Additional Include Directories控制。一个项目中有libA,另一个项目没有。