【发布时间】:2023-03-09 09:50:01
【问题描述】:
我正在尝试构建一个 iOS 库/框架,为了简单起见,我们会说将一些类 A 暴露给使用它的项目。现在的问题是A 类依赖于B 类,这并不意味着在库的构建输出中公开(甚至作为符号包含)。这会导致问题,因为其中有另一个类 C 的库也恰好依赖于类 B。
如果我试图在一个项目中包含这两个库,链接器会抱怨有多个类 B 的定义。
解决此问题的最佳方法是什么?在构建两个库(或至少两个库之一)时,是否可以将类 B 设置为弱链接,如果可以,如何?
或者应该将 B 类提取到它自己的库/框架中,然后修改两个库以引用它,而不是将 B 类作为源文件包含在内?
【问题讨论】: