我在主目录中添加了一个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时,它没有任何问题来构建源代码.
我已经尝试了很多在互联网上找到的建议
但仍然没有去.
问题是什么.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
虽然看起来有点奇怪的嵌入式"标记,但效果很好.我花了一段时间才弄明白,所以希望它有所帮助!
如果目录路径中有空格,通常会发生这种情况。要解决此问题,请在路径周围使用双引号。
假设您要使用项目目录,则应使用:$PROJECT_DIR。如果还要在文件夹中搜索,请启用递归。或者,您可以使用$(SRCROOT)