美文网首页
解决静态库冲突问题

解决静态库冲突问题

作者: CCCRick | 来源:发表于2019-04-11 22:56 被阅读0次

问题

集成项目SDK的时候用到公司的两个静态库,在没有添加other link flags -ObjC之前,编译运行一切正常。一旦加上这个配置项后就报duplicate symbol错误,在错误描述中可以看到两个静态库都包含来命名相同都.o文件。

解决方案

  • 由于都是公司提供的库而且命名一样,决定对一个库删除对应.o文件后重新打包静态库
  1. 首先根据错误信息是arm64的库冲突,所以解压出arm64库
1. lipo liba.a -thin arm64 -output liba-arm64.a #其中liba-arm64.a为抽离出来的库文件
2. 创建一个新文件夹A,进入该文件夹下面
3. ar -x liba-arm64.a完整路径
4. 现在A文件夹中就有抽离出来的一堆.o文件来 
  1. 在抽离后的文件夹中找到造成冲突的文件并删除
  2. 删除后重新打包库libtool -static -o 新的库文件路径/libarm64.a *.o(该命令需要在A文件夹中进行)
  3. 抽离出其它库文件(例如有armv7.a),然后合并静态库lipo -creata -output liba.a armv7.a libarm64.a
  4. 用新合成的库替换原先的库

相关文章

  • 解决静态库冲突问题

    最近在写公司的智能家居项目时碰到静态库冲突问题,我和公司另外一个同事折腾了几天终于弄出来了, 太坑人..........

  • 解决静态库冲突问题

    问题 集成项目SDK的时候用到公司的两个静态库,在没有添加other link flags -ObjC之前,编译运...

  • iOS 解决.a 静态库冲突问题

    今天碰到恶心的libSBJSON.a(千度公司出品) 和ArcGIS 冲突了和它们聊过之后它们决定不改。那只有自己...

  • 静态库冲突 & Git (20)

    静态库冲突 & Git (20) 静态库冲突 冲突本质 -Objc 以及 -all_load 都没有问题, 都可以...

  • 静态库冲突解决

    一、设置other linker flags参数 other linker flags作用 C代码到可执行文件经历...

  • Git(二)

    一. 静态库符号冲突解决 1.1 链接同名静态库会不会冲突? 首先打开第一份工程LGTestApp,导入了AFNe...

  • 解决iOS静态库文件冲突

    iOS 静态库冲突 两个不同的.o 文件冲突 ,静态库分离

  • MT MD 讲解

    (114条消息) 静态库、动态库、静态链接、动态链接、系统运行库混合、MD MT默认库冲突问题wxlfreewin...

  • iOS 静态库.a冲突解决

    以前我是有过专门做SDK的经验,所以像这种sdk报错遇到的不少,如图有价值也很明显的问题点在于: 这种问题一般都是...

  • 静态库.a文件冲突解决

    项目里文件liblibWeex.a库引用了SDWebImage的文件,但是项目其他库也有使用到该库,冲突了! 解决...

网友评论

      本文标题:解决静态库冲突问题

      本文链接:https://www.haomeiwen.com/subject/raervqtx.html