友盟分享和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 解决方案的主要内容,如果未能解决你的问题,请参考以下文章

Android集成友盟社会化分享功能

iOS开发--使用友盟快速分享与第三方登录注意事项

友盟的常见使用----三方登陆分享和“埋点”(友盟统计)

对友盟分享(Umeng-Share)的功能封装

友盟分享各平台URL设置

iOS 友盟分享