如何在xcode项目中设置包含path

我正在尝试在Objective-C Xcode项目中使用C库。

库的目录结构如下:

-- include/ |-- config.h |-- lib/ | |-- file1.h | |-- file2.h | |-- file3.h 

库的文档说包括file1.h,file1.h包括file2.h和file3.h。

我得到“文件未find”的错误包括file2.h和file3.h`。 它们以下面的方式被file1.h包含:

 #include <lib/file1.h> #include <lib/file2.h> 

我在这里读到这些尖括号指示预处理器沿着由INCLUDE环境variables指定的pathsearch包含文件,而不是在包含#include的文件的相同目录中search。

所以我通过转到产品 – >编辑计划在Xcode中添加INCLUDE环境variables,并将其设置为/the-whole-path-to/include/但是,我仍然得到文件未find错误。

如果我改变file1.h来包含它们,这些文件被成功包含在内:

 #include "file2.h" 

但我宁愿不为图书馆中的每个文件都这样做。

我该如何解决这个问题?

弄清楚了。

您只需在“其他C标志”下将-I标志添加到您的构build设置中,

所以在你的目标的构build设置中search“其他C标志”并添加-I/path-to-include/

这里有一个截图: 在这里输入图像描述

在XCode 5.0.2版本中,最好的方法是将其添加到目标的“searchpath”窗格中。 find这(对我来说) 非常不直观。 以下是我如何做到的,对于那些和我一样困惑的人:

在左栏中,点击Project Navigator图标(看起来像一个文件夹)。 然后,点击项目条目。 这应该在主窗格中显示一堆设置。 在这个窗格的顶部,点击“Build Settings”,这显示了一堆条目…包括一个叫做“Search Paths”的searchpath…但是你不能在这里添加searchpath!而直到我发现在这个窗格顶部的项目名称是一个下拉菜单,从这个下拉菜单中select目标 ,你现在应该能够双击“Header Search Paths”并且执行所需的编辑。

哦,疯狂的GUI的喜悦。

我在Xcode 5.0.1中使用Build Settings项目解决了这个问题(正如John和Ian上面提到的,但是我不能评论是因为<50 rep)。

新信息:

在将包含添加到用户标题searchpath时,我也必须将总是search用户path更改为是。

向(非用户)标题searchpath添加包含时,不需要始终search用户path。

虽然这可以起作用,但最好把它放在“searchpath”选项卡下面。

尝试这个:

1 – 在左边的Xcode窗格中select你的项目文件
2 – 确保在中间的Xcode窗格中select了您的项目
3 – 在中间的Xcode窗格顶部select“Build Settings”
4 – 确保在“Build Settings”下方select“All”和“Combined”
在“Build Settings”下方的search栏中input5 – type header

您应该在中间窗格中看到准备好进行编辑的searchpath字段。

您可以使用“其他C标志”或使用“HEADER_SEARCH_PATHS”指定包含path,以查找可执行文件的标头。