我想知道Xcode究竟是如何搜索属于项目的头文件(不是系统或库头),但是我无法在构建设置中找到对项目目录的任何引用。设置标题搜索路径只有一个系统路径。项目搜索路径在哪里以及如何控制?
我问,因为我想开始将文件分成文件夹(而不仅仅是组),我想确保这不会导致包含问题。它似乎工作正常,但我不知道Xcode是如何做到的。它比简单的搜索路径更复杂。
例如,如果我有两个相同名称的标题,一个组中的一个(带有相应的文件夹),另一个位于顶层,如下所示:
Thing.h(1)
Top.cc
Group1 / Thing.h(2)
组别1 / Inner.cc
要Top.cc
获取(1)和(2),必须说#include "Thing.h"
和#include "Group1/Thing.h"
要Inner.cc
执行相同操作,必须说#include "../Thing.h"
和#include "Thing.h"
。
那很好,但设置在哪里?什么是编译器标志?我没有看到它。
(我发现这种类型的嵌套在Objective-C中不太有用,因为你不能将一个类放在命名空间中,但是我想将它用于我的C ++代码。)
答案 0 :(得分:1)
请参阅“构建设置参考”文档中的Header-Map Build Settings。
引用:
标题映射(也称为“标题映射”)是Xcode用于编译目标中使用的标头位置的文件。这些文件使用后缀.hmap。 Xcode通过-I参数传递它汇总到基于C的编译器的头映射。
我认为设置HEADERMAP_INCLUDES_PROJECT_HEADERS
是您正在寻找的。 p>