【问题标题】:xcode 4.5.1. Header Search path not working, <directory/file.h> file not foundxcode 4.5.1。标头搜索路径不起作用,未找到 <directory/file.h> 文件
【发布时间】:2012-10-25 18:37:44
【问题描述】:

我在我的主目录中添加了一个包含目录。我可以从构建目录运行“ls -l ~/include”。 我已经在“标题搜索路径”和“用户标题搜索路径”中添加了该目录。在这两个地方,我都尝试过非递归和递归。 但是 xcode 4.5.1 在任何情况下都找不到第一个声明的头文件。

在源代码calls.m中是这样写的:

 #include <directory/file.h>

我收到“找不到词法或预处理器问题 'directory/file.h' 文件。”

但是当从 cli 运行 xcodebuild 时,构建源代码没有任何问题。

我已经尝试了许多在互联网上找到的建议

  • 在 /usr/om 我的驱动器中添加一个包含
  • 向项目添加索引,添加不带副本且未标记“添加到目标”的文件。
  • 重启 xcode。
  • 指定所有特定路径。

但还是不行。

有什么问题。 xcode 中的错误?

【问题讨论】:

    标签: include xcode4.5


    【解决方案1】:

    我刚刚遇到了类似的问题,这是因为我为标题搜索路径定义的路径中有空格。例如,我将以下内容定义为搜索路径:

    $(SRCROOT)/Frameworks/Headers

    正在扩展为以下内容:

    /Users/skoota/Documents/Xcode Projects/My App/Frameworks/Headers

    如您所见,路径中有空格(由于您使用的是$(SRCROOT) 变量,因此不会立即显现出来)并且编译器并不特别欣赏这些空格。我通过将搜索路径更改为此解决了这个问题:

    "$(SRCROOT)"/Frameworks/Headers

    (注意$(SRCROOT) 周围的引号,它转义了空格)。现在扩展为:

    "/Users/skoota/Documents/Xcode Projects/My App"/Frameworks/Headers

    效果很好,虽然嵌入的" 标记看起来有点奇怪。这花了我一段时间才弄清楚,所以希望它有所帮助!

    【讨论】:

      【解决方案2】:

      如果您的目录路径中有空格,通常会发生这种情况。要解决此问题,请在路径周围使用双引号。

      假设你想使用你的项目目录,那么你应该使用:$PROJECT_DIR。如果您还想在文件夹中搜索,请启用递归。或者,您可以使用$(SRCROOT)

      【讨论】:

      • 不要投反对票,它很短,它帮助了我,感谢 Kunal 我已经为此苦苦挣扎了一段时间。
      猜你喜欢
      • 2016-05-18
      • 1970-01-01
      • 1970-01-01
      • 2011-03-26
      • 2023-03-18
      • 2020-05-03
      • 2013-01-27
      • 2013-05-02
      • 2023-03-23
      相关资源
      最近更新 更多