【问题标题】:iPhone static library creationiPhone静态库创建
【发布时间】: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)的路径吗?如果是,那怎么办?或者我还缺少什么?

【问题讨论】:

    标签: iphone static-libraries


    【解决方案1】:

    您需要将头文件包含在要与库交互的项目中。

    【讨论】:

    • 实际上那些存在于静态库中的头文件(在“复制头文件”的“项目”域中)在主项目中找不到并给出上述错误。我不想将它们保留在公共领域,以免被看到。
    • 某些头文件必须是公开的,以便开发人员可以使用该库
    • @phix23 : 请看一下编辑 2。我已经尝试过你所说的,但还会出现更多错误。
    【解决方案2】:

    单击侧边栏 Xcode 文件管理选项卡中的大项目按钮,选择您的目标,单击 Build Phases,然后下拉标题为“Compile Sources”的下拉菜单。然后确保所有必要的 .m,不是 .h,文件都在那里。

    我自己也遇到过几次这个问题,希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2010-09-25
      • 1970-01-01
      • 2011-03-04
      • 1970-01-01
      • 2011-04-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多