当您在标题搜索路径中选中“递归”时,这意味着什么

时间:2012-07-22 13:44:16

标签: xcode xcode4 xcode4.2

我一直在引用很多项目,我通过在标题搜索路径中添加路径来实现。

我一直在通过“Referenced Project”开始(例如包括ZXingWidget)来关注引用内容。

我现在已经做了很多,但我不理解递归的检查。

  1. 这是什么意思?
  2. 我何时检查“递归?”的路径
  3. 由于

4 个答案:

答案 0 :(得分:21)

如果您为Xcode提供了用于标头的路径,那么当您使用#include#import语句时,它将检查该路径。如果文件不存在,则退出。

如果您将路径设置为“递归”,Xcode将搜索它找到的文件夹(如果找不到该文件)。

看起来像这样:

enter image description here

答案 1 :(得分:12)

1)输入标题搜索路径所需的路径,然后单击“输入”。

2)双击您输入的路径文本。

3)在对话框的右侧选择递归。

答案 2 :(得分:1)

设置path(例如Header Search PathsLibrary Search PathsFramework Search Paths ...)时,可以定义到父文件夹之一的路径并设置{{1 }}(recursive将添加到路径的末尾)。例如,您可以使用/**(而不是path)参数将include污染到Build目录(或更广泛的污染recursive目录)。

请注意:如果include/<target_name>包含空格-patch,则应使用对其进行转义,或将路径用双引号\

括起来。

答案 3 :(得分:0)

对于那些想知道的人,就像我曾经想过的那样,为编译器命令行选择 Header Search Path 的效果是什么,它将生成一个recursive参数对于以给定路径为根的树中的每个目录。这可能会导致很长的编译器命令行,这将使在其中几乎找不到其他任何东西。因此,如果要使用-I,值得考虑的是在您指定的路径下有多少目录。

我尝试将recursive指定为单个文件的编译器标记,但这不起作用(这显然是Xcode自己进行扩展的原因)。

(对于Xcode 9.4.1而言是正确的)