Xcode header 搜索路径不适用于相对于另一个的包含 header

Xcode header search path not working for an include relative to another header

我的项目中有一个文件是 #including 一个 header 文件

#import "core.hpp"

在我的 header 搜索路径中,我放置了这条路径:

./OpenCV2.4.9/OSX/include recursive

这有效,Xcode 可以找到 core.hpp,即使我没有在我的项目中引用它。

core.hpp的完整路径是:./OpenCV2.4.9/OSX/include/opencv2/core/core.hpp

问题是在core.hpp里面还有一个#include

#include "opencv2/core/types_c.h"

Xcode 找不到这个 header.

我试过我能找到的每一个构建设置,但都无济于事。

这很奇怪,因为我们在另一个项目中使用它,但在我正在制作的这个新测试项目中,即使所有构建设置都匹配,我似乎也无法让它工作(因为据我所知)

这是我能找到的与我的相关的最接近的 SO 问题: XCode 4 C++ header file with relative path to another header

但问题是我无法更改#include "opencv2/core/types_c.h",因为它不是我的header

终于想通了。 我将 header 搜索路径更改为

./OpenCV2.4.9/OSX

来自

./OpenCV2.4.9/OSX/include

我通过修改 OpenCV header 找到了这个,并且发现 while
#include "opencv2/core/types_c.h" 没有成功;
如果我只是做了 #include "types_c.h" 它会起作用,而且 #include "core/types_c.h" 也起作用

而且因为我实际上并不想修改 OpenCV headers, 我发现如果我把header搜索路径的最后一块去掉,include,Xcode终于开心了