解决:引用多个三方库出现冲突
2020-09-17 本文已影响0人
coco_CC
其实像这种开源代码并且使用率较高的源代码就不该包含在lib库中,你好歹加个前缀呀。说再多也没有用,谁让用着人家的三方库呢,那咱就想办法分离吧~~

1.创建一个临时的armv7文件夹
mkdir armv7
2.取出armv7平台的包
lipo xxxxxx.a -thin armv7 -output armv7/armv7.a
3.查看库中所包含的文件列表
ar -t armv7/armv7.a
4.解压出object file(即.a后缀文件)
cd armv7 && ar xv armv7.a
5.找到冲突的.o文件,删除掉(有N个就删除N个,可多次删除)
rm t1.o
6.重新打包 object file
cd .. && ar rcs armv7.a armv7/*.o
7.如果是多个平台的SDK,删除所有冲突的文件。操作完成后,合并多个平台的文件为一个.a文件
lipo -create armv7.a arm64.a -output newxxx.a