【问题标题】:Multiple static libraries with a shared dependency - iOS具有共享依赖项的多个静态库 - iOS
【发布时间】:2012-05-10 23:25:15
【问题描述】:

我正在开发几个 iOS 项目,这些项目将包含大量共享代码,因此我将这些代码收集到静态库中。

现在假设我正在使用 3 个静态库:

  1. Lib A 包含通用实用程序函数
  2. Lib B 包含一组类
  3. Lib C 包含第二组类

(并且 A 是 B 和 C 的依赖项)

现在,我的最终项目需要利用所有三个库中的功能。我知道 A 可以与 B、C 和我的最终项目静态链接,但那时我会收到链接器错误,因为相同类有多个实现。

这种情况应该如何处理?

【问题讨论】:

    标签: ios xcode linker static-libraries


    【解决方案1】:

    对于其他对此感到疑惑的人,我发现您可以通过在每个库中包含头文件来获得我想要的行为,但只能与一个链接。

    在我在问题中概述的示例中,我的主要项目将链接到 A、B 和 C。但是,要在库 B 和 C 中使用 A,您可以在 B 和 C 中包含 A 的头文件,但是随后仅链接到根项目中的 A。

    如果有人有更好的建议,请随时分享。

    顺便说一句,有一个名为Cocoapods 的项目是一个iOS 依赖管理器。似乎值得关注。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-01-13
      • 1970-01-01
      • 1970-01-01
      • 2021-11-21
      • 2021-06-04
      • 2011-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多