【发布时间】:2011-06-10 07:29:57
【问题描述】:
我正在使用一个包含结构的库,其中 .h 文件都在一个目录中。这些 .h 文件包含一行,一个 #include 指令,它指向特定源文件夹位置中的“真实”头文件。这些文件中的#include 路径是相对的。
所以,这里有一个例子。目录结构为:
/project
/sources
<my .cpp files>
<my .cpp files>
...
/include
/component
foo1.h
foo2.h
/platformA/something/foo1.h
/platformB/somethingelse/foo2.h
/include/component/foo1.h 包含一行代码:
#include "../platformA/something/foo1.h"
/include/component/foo2.h 包含单行代码#include "../platformB/somethingelse/foo2.h"
在我的消息来源中,我只有:
#include "component/foo1.h"
我的项目的标头搜索路径指向/include
现在,XCode 4 能够在 /include 中找到 component/foo1.h,但它无法遵循这些标头中的相对包含路径并在 `/platformA/something' 目录中找到“真正的” foo1.h,等等。
我怀疑这是因为顶级 foo1.h 文件中的包含路径是相对于其位置的,但 XCode 可能会将其视为相对于其他位置(项目根目录或其他位置)? FWIW,Visual Studio 在相同的配置下没有问题。
有什么想法可以解决这个问题吗?
【问题讨论】: