Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
XCode包含路径_Xcode_Include_Path - Fatal编程技术网

XCode包含路径

XCode包含路径,xcode,include,path,Xcode,Include,Path,我在让XCode处理我正在使用或希望使用的特定文件结构时遇到问题 我有一组以下格式的文件 Library Headers Library Package1 Header1.h Header2.h HeaderN.h Package2 Header1.h Header2.h HeaderN.h

我在让XCode处理我正在使用或希望使用的特定文件结构时遇到问题

我有一组以下格式的文件

Library Headers Library Package1 Header1.h Header2.h HeaderN.h Package2 Header1.h Header2.h HeaderN.h PackageN Header1.h Header2.h HeaderN.h Source Package1 Source1.m Source2.m SourceN.m Package2 Source1.m Source2.m SourceN.m Package3 Source1.m Source2.m SourceN.m 我想将XCode指向库/头,但不指向内部文件夹。当我将这棵树添加到项目中时,XCode似乎使隐式包含路径指向树中的每个节点

项目内但此树外的客户端代码可以执行此操作

#import "Header.h"
而不是

#import "Library/Package/Header.h"
我似乎找不到一个方法来阻止不合格的表格

任何帮助都将不胜感激

谢谢,
-Roman

如果在项目中的文件中包含头,那么XCode将始终找到它们,而不需要路径限定,正如您所发现的那样。最好的解决方案是从项目中删除标题,并在项目设置中指定“Library/headers”作为标题搜索路径。头文件不会显示在项目中,但是在编译时XCode也不会隐式地找到它们;客户端代码必须指定“Library/Headers”的完整路径才能到达他们想要的头文件。

您遇到了Xcode的行为,即它构建了一个平面头映射。您可以通过添加生成设置来禁用此功能:

HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=NO

到您的项目设置。

我明白了。当我同时创作库和应用程序时,真是太遗憾了。我想我可以把它分解成自己的项目。我尝试在同一个项目中创建一个库目标,但这也不会改变隐式路径。我发现有一种方法可以使项目中的标题易于编辑,但项目无法找到它们。只需将标题作为文件夹引用导入(在xcode中是蓝色而不是黄色)。Roman,我以前已经找到了这个确切的解决方案,直到3年前你提到它,我才忘记它。stackoverflow心智圈已完成:)
HEADERMAP_INCLUDES_FLAT_ENTRIES_FOR_TARGET_BEING_BUILT=NO