ios - 具有共享依赖项的多个静态库 - iOS

标签 ios xcode linker static-libraries

我正在处理几个 iOS 项目,这些项目会有很多共享代码,所以我在静态库中收集这些代码。

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

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

(A 是 B 和 C 的依赖)

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

遇到这种情况应该怎么处理?

最佳答案

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

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

如果大家有更好的建议欢迎交流。

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

关于ios - 具有共享依赖项的多个静态库 - iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10543481/

相关文章:

objective-c - 单元格 accessorytype 不会在 [tableview reloadData] 上重新加载

ios - iOS 11.3 更新是否会破坏人脸节点上的 ARKit/SceneKit SCNMaterial 渲染?

ios - 我使用 Xcode 将应用程序分发到 App Store Connect。 Xcode上传失败并显示 "ERROR ITMS-90037"

linker - g++链接器无法识别-Bstatic

c++ - 无法在 VC++ 中从 NASM 调用 c 函数,除了 main,出现链接错误

ios - 裁剪图像与更新版本的 Instagram 相同

ios - 替换 CGBitmapContext 中的特定颜色

ios - UIScrollView 做空白并且不滚动

ios - 无法在 iOS 上构建 React Native 项目 : No component found for view with name "ARTShape"

c++ - "unresolved external symbol _triangulate"使用三角库时