在iPhone中实现静态库

时间:2009-07-14 10:31:46

标签: iphone objective-c xcode static-libraries

我在this link之后创建了一个静态库。

但是我在使用库方面遇到了问题。有关如何在iPhone项目中使用静态库的参考,我遵循this link

但我仍然在努力解决“如何在任何其他iPhone项目中实现静态库?”问题

谢谢大家。

1 个答案:

答案 0 :(得分:5)

您可以像帖子一样使用跨项目引用,但这有几次下滑。

我使用的这个设置一般适用于Xcode(不仅适用于iPhone),还增加了编译时静态库版本控制。

我将静态库放在〜/ Library / MyLibraries /中,.a存档及其公共标题。这样你可以有不同的版本:

~/Library/MyLibraries/
                     /MyLib-1.0.0/Headers/header1.h
                                         /header2.h
                                 /libmylib.a
                                 /libmylib_debug.a
                     /MyOtherLib-2.1.0/Headers/...
                                      /libmyotherlib.a

然后在Xcode设置中添加用户变量:

LIBRARIES_DIR      $(USER_LIBRARY_DIR)/MyLibraries
MYLIBRARY_LIBROOT  $(LIBRARIES_DIR)/MyLib-1.0.0

并修改设置

HEADER_SEARCH_PATHS $(MYLIBRARY_LIBROOT)/Headers
OTHER_LDFLAGS       $(MYLIBRARY_LIBROOT)/libmylib.a

现在更改MYLIBRARY_LIBROOT以选择您的库版本。我更多关于blog post的信息。

如果你想保持简单,那么只需编译库并设置HEADER_SEARCH_PATHS和OTHER_LDFLAGS。