如果Foo是一个静态库,我不会将它与lib链接,只能将主项目与它们连接起来.但是这种方法似乎不适用于框架:链接器抱怨lib缺少符号.
所以我采取了另一种方法并将Foo与lib联系起来.现在链接器很高兴,但有一个明显的问题:如果主项目使用lib出于自己的原因并链接Foo和lib,我会得到重复的符号:
Class <Something> is implemented in both <Here> and <There>.One of the two will be used. Which one is undefined.
我知道我可以停止将该应用程序与lib联系起来,一切都会好的,但我想把事情做对.怎么样?
解决方法 我能够为框架工作,尽管文档说它也应该适用于静态库.我所做的是将主项目与Foo和lib联系起来.现在Foo有“缺少符号”的错误.选择Foo目标并转到Other linker Flags.添加-weak_framework lib和presto!链接器将停止抱怨.重复的符号运行时错误消失了.
根据docs:
@H_419_41@ 总结The
-weak_framework
option tells the linker to weakly link all symbols in the named framework. If you need to link to a library instead of a framework,you can use the-weak_library
linker command instead
以上是内存溢出为你收集整理的在创建iOS框架时如何解决类名冲突?全部内容,希望文章能够帮你解决在创建iOS框架时如何解决类名冲突?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)