友盟分享和cocos2dx符合重复duplicate symbol 解决方案
Posted 半山
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了友盟分享和cocos2dx符合重复duplicate symbol 解决方案相关的知识,希望对你有一定的参考价值。
最近使用友盟分享的sdk,没想到libWechatSDK.a居然和cocos2dx的符合冲突,提示base64.o重复了。
于是到网上找了一下解决方案,基本上去除微信的base64.o即可了。
用ar -x libWechatSDK.a发现不能直接解开,原来这静态库是多个cpu架构打包在一起的。
file libWechatSDK.a可以发现有armv7 armv7s i386 x86_64 armv64五个结构
这时要安装一下lipo,用brew install lipo。
lipo -thin armv7 libWechatSDK.a -output v7.a
然后解开
ar -x v7.a
删除base64.o, v7.a
rm base64.o v7.a
重新打包
ar rcs v7.a *.o
重复多次,把所有架构的base.o都删除
删除旧的libWechatSDK.a,然后用lipo打包
lipo -create *.a -output libWechatSDK.a
最后测试通过。
以上是关于友盟分享和cocos2dx符合重复duplicate symbol 解决方案的主要内容,如果未能解决你的问题,请参考以下文章