最近使用友盟分享的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
最后测试通过。
时间: 2024-10-17 13:30:51