美文网首页
不同第三方库重复存在某一文件解决方案

不同第三方库重复存在某一文件解决方案

作者: LiteDeveloper | 来源:发表于2022-07-14 17:08 被阅读0次

在集成三方库的时候出现了两个库文件冲突的问题。百度单号识别OCR与百度人脸识别SDK中均包含报错的同一个文件。解决方案就是需要拆分一个库,把这个库中的冲突文件删除然后重新生成即可。具体如下:

拆分以libTradingSystem.a静态库操作为例,冲突文件以Utils.o文件为例

1、首先检查lib架构,命令行输入:

lipo -info /Users/liuxh/Desktop/lib/libTradingSystem.a

输出结果如下,可以看到lib库支持的架构有哪些。

2、依次拆分libTradingSystem.a架构 ,下面以amv7架构拆分为例,其他架构的需要一样操作。

lipo /Users/liuxh/Desktop/libTradingSystem.a -thin armv7 -output /Users/liuxh/Desktop/libTradingSystem_armv7.a

对libTradingSystem.a这个库,同时需要拆分x86_64、arm64。

lipo /Users/liuxh/Desktop/lib/libTradingSystem.a -thin x86_64 -output /Users/liuxh/Desktop/lib/libTradingSystem_x86_64.a

lipo /Users/liuxh/Desktop/lib/libTradingSystem.a  -thin arm64 output /Users/liuxh/Desktop/lib/libTradingSystem_arm64.a

可以在output 对应的路径下看到下图文件:

3、选择有冲突的架构(库文件冲突的时候在xcode中会显示是在哪种架构冲突),找到架构内的冲突文件。

Ar -t /Users/liuxh/Desktop/lib/libTradingSystem_arm64.a

查询结果如下图所示(冲突文件为arm64架构下的Utils.o文件)

4、移除冲突文件

Ar-dv/Users/liuxh/Desktop/lib/libTradingSystem_arm64.a Utils.o

//冲突文件有多个可以这样写

Ar-dv/Users/liuxh/Desktop/lib/libTradingSystem_arm64.a Utils.o Utils.o Utils.o Utils.o

5、重新合并静态库

lipo -creat /Users/liuxh/Desktop/lib/libTradingSystem_arm64.a /Users/liuxh/Desktop/lib/libTradingSystem_armv7.a /Users/liuxh/Desktop/lib/libTradingSystem_x86_64.a -output /Users/liuxh/Desktop/lib/libTradingSystem.a

完成以上操作大功告成了,把重新合并的库替换进工程中就可以完美build了!!!

相关文章

  • 不同第三方库重复存在某一文件解决方案

    在集成三方库的时候出现了两个库文件冲突的问题。百度单号识别OCR与百度人脸识别SDK中均包含报错的同一个文件。解决...

  • iOS工程引入第三方库报错linker command fail

    通常项目中会根据需求引入较多的第三方库,这时因为工程中已经存在很多第三方库了,很有可能两个文件中会有重复定义的问题...

  • duplicate symbols for architectu

    出现原因:一些文件或者符号重复了 案例一:在工程中重复导入了某一个类或文件,这一般出现在你添加第三方库的时候比较多...

  • webapck4抽取公共模块“SplitChunksPlugin

    头疼:重复引用第三方库 在多入口文件打包的时候,出现了重复引入第三方库的问题,如下: 怎么办:怎么抽取公共模块 在...

  • Python Day02

    模块 == 库 (标准库, 第三方库) 注意:文件名不与调用库名重复 sys1.py sys.path #打印...

  • Include of non-modular header in

    当我在私有pod库的制作中引用了第三方的库,在包含第三方头文件时会报这个错。 解决方案有两个:1:可以在.m文件中...

  • Angular开发经验总结(连载)

    引入第三方样式库文件无效(bootstrap) 尝试解决方案一 使用了cnpm安装,node_modules目录下...

  • Could not find auto-linked libra

    oc工程中使用swift的第三方库,结果没有一个swift文件,导致编译报错。解决方案:建立一个swift文件(空...

  • 自定义持久层框架 -- Mybatis阉割版

    一、分析JDBC操作问题 数据库配置信息存在硬编码问题解决方案:利用配置文件 频繁创建释放数据库链接解决方案:连接...

  • git 上传忽略pod

    iOS开发过程中经常使用到Cocoapods进行第三方库管理,而第三方库可能存在大文件,这个时候我们使用git是无...

网友评论

      本文标题:不同第三方库重复存在某一文件解决方案

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