首页 > 代码库 > 友盟分享和cocos2dx符合重复duplicate symbol 解决方案

友盟分享和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 解决方案