【发布时间】:2014-12-11 10:54:54
【问题描述】:
我正在开发一个 iOS 应用程序并希望链接到一个特定的库。然而,同一个库的分叉/旧版本(带有冲突符号)已静态链接到我也在使用的框架中。因为框架引入的版本是分叉和过时的,所以我想以某种方式将新库用于我的目的,并允许框架继续使用旧/分叉版本,所有这些都在一个 iOS 中二进制。
我无法控制库的旧版本/分叉版本,但我可以随意编译新版本。
我可以做些什么来自动为新版本库中的符号添加前缀/命名空间,以便我可以在不与旧版本中的符号冲突的情况下使用它们?
【问题讨论】:
-
您可以将使用静态库的代码移动到它自己的框架中,从而有效地包装静态库代码,重点关注您自己的需求。这绝对可以避免任何符号冲突。
-
@Benjamin 您找到解决方案了吗?我很乐意提出一些建议。
-
@raurora 实际上,我能够按照 Droppy 的建议做一些事情。但是,这是一个有趣的问题,所以如果您有其他建议要发布,我很乐意听到。
-
@BenjaminDobell 如果 Droppy 的解决方案对您有用(没有错误),您可以在下面发布答案 - stackoverflow.com/help/self-answer
标签: ios clang static-linking