0

似乎以前有人问过这个问题,但是我还没有找到适合我的答案。

设置:我目前正在创建两个用于项目的静态库。假设我有 Project、Liba 和 Libb。项目链接到Liba 和Libb,Libb 有一个Liba 的导入标签。项目不直接使用 Liba,但我在工作区中有它,因为我已经读过我们不应该让一个库直接链接另一个库。令人惊讶的是,这一切都有效。我遇到的问题是我希望 Libb 也使用 StackMob。由于某种原因,Libb 在导入时找不到 StackMob.h。我以与其他库类似的方式将 Stackmob 库添加到我的工作区。

以下是每个类的相关代码片段。

项目.h

#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

Lib.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....
}

谢谢您的帮助。如果您需要我澄清,请询问。我意识到我提供的一些代码不是必需的,但我认为它可能有助于理解我是如何进行设置的。

4

1 回答 1

0

添加$(SRCROOT)/../StackMob/HeadersHeader Search Paths构建设置以允许项目找到头文件。

于 2013-08-29T14:24:54.647 回答