MrS*_*oot 7 frameworks llvm ios
我有点进退两难.我已经在我的项目中添加了2个框架,所以它恰好都使用了JSONKit.所以当我编译我的项目时,我在这两个框架之间得到了重复的符号.
我不得不将-ObjC -all_load添加到我的构建设置中,否则由于某些类别未编译而导致运行时错误(崩溃).
有任何想法吗?
当您链接静态库时,链接器会将所有符号嵌入到最终的二进制文件中。(这就是为什么它被命名为static。)实际上没有什么好方法可以去除特定的符号,因为源符号和新嵌入的符号之间没有区别。即使你可以去掉重复的符号,没有人可以确定重复的符号是相同的版本。如果一个库使用了修改版本的JSONKit
库,则当您将其替换为其他版本时,该库将被破坏。
唯一的方法是获取.a
没有重复符号的文件或获取源代码并自己编译它们。如果库制作者不是白痴,他们应该提供一些没有嵌入符号的库版本。如果没有这样的东西,我强烈建议不要使用该库。因为它不关心符号冲突,这意味着它是由真正的新手制作的,这意味着它充满了问题。