【发布时间】:2013-08-04 06:34:24
【问题描述】:
我经常在Xcode/Objective-C实现文件中看到开源代码导入第三方库是这样的:
#import <ThirdPartyLibrary/utilities.h>
但是当我在我的项目中拖放此类库的文件结构和文件时,所有这些导入都已损坏,Xcode 不知道文件在哪里。
我最终手动修改每个导入看起来像:
#import "utilities.h"
并且包含似乎是相对于文件系统上的当前物理文件夹。当一个库将其文件拆分到文件系统上的文件夹中并将其拖放到 Xcode 中时,Xcode 会为这些文件夹创建组。但是对于导入,我必须指定文件夹名称。问题是当我在一个文件夹中时,例如:
http/httpTools.h
那么当httpTools.h要从根目录导入utilities.h时,我得改一下
#import <ThirdPartyLibrary/utilities.h>
到
#import "../utilities.h"
这是一件苦差事。这样做了 5 个小时后,我想该死的,一定有更好的方法。有人可以解释教 Xcode 一个可以用尖括号导入的新框架位置的秘诀是什么吗?顺便说一句,框架是源代码。未编译。只是赤裸裸的代码。
【问题讨论】:
-
这不是 Xcode,而是编译器。无论如何,你必须扩展编译器的头文件搜索路径;这可以通过在 GCC 和 Clang 的情况下指定
-I<directory>编译器标志来完成。 -
我也遇到了类似的问题,与其拖入文件,不如在标题搜索路径xcode设置中包含相关目录。
-
你是导入第三方框架还是完整源代码?
-
@H2CO3 你将如何为一个名为“TheLibrary”的库指定它,你将编译器标志放在哪里?
-
@openfrog
clang -I/path/to/TheLibrary等。编译器标志将被放入编译器命令行的调用中。如果您使用的是 Xcode,那么构建设置中可能有一个名为“包含路径”或类似内容的部分。
标签: ios objective-c c xcode