我正在尝试构建一个 iOS 库/框架,为了简单起见,我们会说它A
向使用它的项目公开了一些类。现在的问题是 classA
依赖于 class B
,这并不意味着在库的构建输出中公开(甚至作为符号包含)。这会导致问题,因为其中还有另一个包含 classC
的库,它也恰好依赖于 class B
。
发生的情况是,如果我尝试在项目中包含这两个库,链接器会抱怨有多个 class 定义B
。
解决此问题的最佳方法是什么?是否可以B
在构建两个库(或至少两个库之一)时将类设置为弱链接,如果可以,如何?
或者应该将类B
提取到它自己的库/框架中并修改两个库以引用它而不是将类B
作为源文件包含?