2012-06-11 107 views
2

我有问题使用我自己的静态库。xCode 4.3静态库跨项目参考

这里是我做过什么:

静态库

1)我创建了“可可静态库”模板

2)一个新的项目,我添加了一个简单的测试文件“LibraryTest”该项目

3.)我在“LibraryTest”中定义了一个公共函数“testFunction”

4.)在“目标” - >“构建阶段” - >“复制标题”下,我将LibraryTest.h添加到“public”

5.)我构建库并在文件夹“Products”标记的库文件变黑。所以我想,一切运行良好

新建项目

1)我创建了一个新的项目与“空白应用程序”模板

2)我拖着我的静态库到新的项目

3.)我使用#import“LibraryTest.h”将“LibraryTest.h”导入到我的AppDelegate。进口自动完成

4.)不幸的是,如果我试图编译它说,“LibraryTest.h”找不到,因此没有建立。

在这里,您可以在xCode中看到我的“New Project”项目浏览器窗口中的snapshot。 库“libJRL_jumero_iOS_library”仍为红色。所以我猜图书馆找不到,这也许是原因。但我不知道为什么它不是建立。

有人想法出了什么问题?

问候, 扬

编辑11.06.2012:

如果我使用 “@class LibraryTest;” 我可以编译和函数被调用,如g .:

LibraryTest * libraryTest = [[LibraryTest alloc] init]; [libraryTest testFunction];

但是我收到警告: Receiver LibraryTest.h是一个前向类,相应的接口可能不存在。 找不到实例方法-testFunction。

回答

0

您必须拖动h文件以及您的项目。 通常,当您构建一个静态库时,您将提供.a文件以及公共的h文件。 必须将所有该包导入到您的项目中,否则您将无法看到接口和方法声明。

+0

嗨bettola,谢谢你的回答,但这正是我所做的,正如我在4)中所描述的那样。 .a文件在我的“新建项目”中是红色的。我认为它没有建立,但我不知道为什么。 – user1449153

+0

从快照看来,您并未将库作为静态库添加,而是作为导入的项目添加。我期望看到只有一个Xcode项目,导入.a内部和标题....但从快照,我看到两个项目:Base和libJRL – Valerio

+0

如何将它添加为静态库?我所做的是将静态库项目拖放到我的“新项目”项目中... – user1449153