iPhone静态库创建
Posted
技术标签:
【中文标题】iPhone静态库创建【英文标题】:iPhone static library creation 【发布时间】:2011-10-16 17:40:19 【问题描述】:我创建了一个静态库 LibA.a,其中包含一些代码和另一个静态库 LibB.a。当我在一个新项目中使用这个静态库 LibA.a 时,我会遇到很多这样的错误:
File1.h 没有这样的文件或目录。
LibB.a 中存在此文件 File1.h 和其他显示错误的文件。
编辑 1:我使用的是 XCode 4.0.1
编辑 2: 现在,在创建我的静态库时,我将头文件公开,用户可以在他们的项目中使用其方法。我的静态库引用了另一个名为 XWidget.a 的静态库。我已将它添加到我的静态库的“Link Binary with Libraries”以及直接依赖项中。然后创建了我的静态库。现在我正在一个演示项目中测试我的库。在演示项目的头文件搜索路径中,我添加了我的静态库的公共头文件的路径。当我运行它时,找不到内部静态库 XWidget.a 中存在的头文件。给出像 FileA.h 这样的错误:没有这样的文件或目录。我还应该以某种方式提供内部静态库(XWidget.a)的路径吗?如果是,那怎么办?或者我还缺少什么?
【问题讨论】:
【参考方案1】:您需要将头文件包含在要与库交互的项目中。
【讨论】:
实际上那些存在于静态库中的头文件(在“复制头文件”的“项目”域中)在主项目中找不到并给出上述错误。我不想将它们保留在公共领域,以免被看到。 某些头文件必须是公开的,以便开发人员可以使用该库 @phix23 : 请看一下编辑 2。我已经尝试过你所说的,但还会出现更多错误。【参考方案2】:单击侧边栏 Xcode 文件管理选项卡中的大项目按钮,选择您的目标,单击 Build Phases,然后下拉标题为“Compile Sources”的下拉菜单。然后确保所有必要的 .m,不是 .h,文件都在那里。
我自己也遇到过几次这个问题,希望对你有帮助!
【讨论】:
以上是关于iPhone静态库创建的主要内容,如果未能解决你的问题,请参考以下文章
ios iPhone / iPad - 带有 GData 静态库 libGDataTouchStaticLib.a 的项目在构建时失败(重复符号)