xcode 4.5.1.标题搜索路径不起作用,找不到<directory/file.h>文件

use*_*190 13 include xcode4.5

我在主目录中添加了一个include目录.我可以从构建目录运行"ls -l~/include".我在"Header Seach Path"和"User Header Search Path"中添加了该目录.在这两个地方,我都尝试过非递归和递归.但xcode 4.5.1无法在任何情况下找到第一个声明的头文件.

它在源代码call.m中声明为:

 #include <directory/file.h>
Run Code Online (Sandbox Code Playgroud)

我找不到"词法或预处理器问题'目录/ file.h'文件."

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

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

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

但仍然没有去.

问题是什么.xcode中的Bug?

Sko*_*ota 19

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

$(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

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


Kun*_*nna 5

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

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