Iphone 我想使用另一个库的项目中的库
似乎以前有人问过这个问题,但我没有找到一个适合我的答案 设置:我目前正在创建两个静态库,用于一个项目中。假设我有一个项目,Liba和Libb。项目链接到Liba和Libb,Libb有一个Liba的导入标记。Project不直接使用Liba,但我在工作区中有它,因为我读到我们不应该让一个库直接链接另一个库。令人惊讶的是,这一切都有效。我遇到的问题是我希望Libb也使用StackMob。由于某些原因,Libb在导入时找不到StackMob.h。我已将Stackmob库添加到我的工作区中,方法与其他库类似 下面是每个类的相关代码片段 项目.hIphone 我想使用另一个库的项目中的库,iphone,ios,objective-c,stackmob,Iphone,Ios,Objective C,Stackmob,似乎以前有人问过这个问题,但我没有找到一个适合我的答案 设置:我目前正在创建两个静态库,用于一个项目中。假设我有一个项目,Liba和Libb。项目链接到Liba和Libb,Libb有一个Liba的导入标记。Project不直接使用Liba,但我在工作区中有它,因为我读到我们不应该让一个库直接链接另一个库。令人惊讶的是,这一切都有效。我遇到的问题是我希望Libb也使用StackMob。由于某些原因,Libb在导入时找不到StackMob.h。我已将Stackmob库添加到我的工作区中,方法与其他库
#import "Libb/Libb.h"
@interface project
{
Libb* _libb;
}
@end
项目m
@implementation Project
{
_libb = [[Libb alloc] init];
}
@end
Libb.h
@class Liba
@class StackMob
@interface Libb
{
Liba* _liba;
}
@end
Libb.m
#import "Liba/Liba.h"
#import "Stackmob.h" //This is where I get the error. I have also tried "StackMob/StackMob.h"
@implementation Libb
{
//Code here....
}
谢谢你的帮助。如果你需要我澄清,请询问。我意识到我提供的一些代码是不必要的,但我认为它可能有助于理解我是如何进行设置的。在构建设置中将
$(SRCROOT)/../StackMob/Headers
添加到头搜索路径中,以允许项目查找头文件。我已经尝试过了。它说找不到Stackmob.h。LibB是否在其构建设置标题搜索路径字段中引用了Stackmob的位置?查看LibA在此区域中如何访问.h文件。LibB>Build Settings>Header搜索路径为空。我看到的唯一区别是项目包含LibA的项目,而StackMob不可能这样做,因为我显然不是创建者。StackMob库应该带有头文件。你看到那张照片了吗?您将整个文件夹拉入项目,其中将包括头文件,然后您可以`#导入“StackMob.h”。您可以将库及其头放在公共位置,并将LibA和LibB指向它(使用头搜索路径查找头)。我已经按照说明进行了操作,为了向自己证明这一点,我做了一个小测试。我能够在project.m文件中使用#import“StackMob.h”,而不会出现问题。所以,我必须更改标题搜索路径?好的,我试试看,然后回答。