美文网首页
引入第三方库(ZipArchive)报错,.o文件冲突

引入第三方库(ZipArchive)报错,.o文件冲突

作者: 凡凡天 | 来源:发表于2021-03-22 14:34 被阅读0次

    Dcloud~引入第三方库(ZipArchive)报错,.o文件冲突

    #####################################################################################

    原文链接:https://zhuanlan.zhihu.com/p/94770774

    ##############

    工程集成5+sdk编译报错duplicate symbol _OBJC_CLASS_$_ZipArchive in: 

    项目遇到如下问题:解决方案如下:

    1:项目是使用mui和原生混合开发的,现需要引入一个第三方库 用原生进行解压文件,但是引入后编译时报错,该如何解决?

    2:原生代码如何才能使用到libcoreSupport.a 解压压缩文件的方法?

    3:iOS解决两个静态库(.framework或.a)中.o文件冲突

    4:SDK/Libs/libcoreSupport.a(ZipArchive.o)

    5:集成5+sdk时,编译不过,提示libcoreSupport.a库中引用了ZipArchive框架,而我们自己的工程中的某个framework也引用ZipArchive,就造成编译不过,有没有人遇到,如何解决的?

    错误截图

    下边是之前搜索进来的解决方案,可惜都只有问题,没有答案

    引入第三方库(ZipArchive)报错 - DCloud问答ask.dcloud.net.cn现有工程集成5+sdk编译报错duplicate symbol _OBJC_CLASS_$_ZipArchive in: ../Libs/libcoreSupport.a(ZipArchive.o)ask.dcloud.net.cn

    接下来,福利来了,直接上代码了,如下步骤即可

    1:进入.a文件的目录

    2:查看.a文件信息:

    lipo -info libcoreSupport.a,终端会显示该库包含的cpu架构:armv7 x86_64 arm64

    3:根据信息依次拆分文件armv7 x86_64 arm64

    armv7拆分:->libcoreSupport_armv7.a

    lipo -thin armv7 libcoreSupport.a -output libcoreSupport_armv7.a

    执行后,就会在文件夹中看到一个libcoreSupport_armv7.a的文件,如下图

    x86_64拆分:

    lipo -thin x86_64 libcoreSupport.a -output libcoreSupport_x86_64.a

    执行后,就会在文件夹中看到一个libcoreSupport_x86_64.a的文件,如下图

    arm64拆分:

    lipo  -thin arm64 libcoreSupport.a -output libcoreSupport_arm64.a

    执行后,就会在文件夹中看到一个libcoreSupport_arm64.a的文件,如下图

    4:依次删除各个cpu架构需要删除的.o文件

    armv7删除

    ar -d -sv libcoreSupport_armv7.a ZipArchive.o

    x86_64删除

    ar -d -sv libcoreSupport_x86_64.a ZipArchive.o

    arm64删除

    ar -d -sv libcoreSupport_arm64.a ZipArchive.o

    5:将第3步骤的拆分的cpu框架重新组成新的静态库

    注意:将所有cpu架构的.a库进行合并. 需要先把libcoreSupport.a文件删除掉, 因为合并之后的文件名字也是libcoreSupport.a,这样在项目中直接调用即可

    lipo -create -output  libcoreSupport.a  libcoreSupport_arm64.a  libcoreSupport_arm64.a  libcoreSupport_armv7.a

    执行之后,会发现文件夹中又多了一个libcoreSupport.a文件,删除以下几个文件。

    到此,结束!!!

    重新编译后运行成功

    相关文章

      网友评论

          本文标题:引入第三方库(ZipArchive)报错,.o文件冲突

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