美文网首页
Undefined symbols for architectu

Undefined symbols for architectu

作者: 吕建雄 | 来源:发表于2022-08-04 10:12 被阅读0次

    在项目开发过程中,遇到Undefined symbols for architecture arm64 错误的概率还是比较高的,出现这样的错误,意味着项目某些地方不支持arm64指令集

    解决问题之前,先了解清晰涉及到的知识点:

    iOS支持的指令集包含:armv6、armv7、armv7s、arm64,在项目TARGETS---->Build Settings--->Architecturs 可以修改对应的指令集,目前Standard Architectures(arm64, armv7) 

    XCode中可设置:

    1、Architectures将制定项目将支持哪些指令集

    2、Build Active Architecture Only 用于设置是否只编译当前使用的设备对应的arm指令集,当该选项设置成YES时,具体编译的指令集取局于当前的设备支持的armv指令集,比如:Architectures 设置为 arm64,armv7。如果当前设备只支持armv7,则只会生成armv7指令集的二进制包

    当了解了以上原理后,面对Undefined symbols for architecture arm64 类似的问题就迎刃而解啦。

    解决方案一:

    可以打开终端借助“lipo - info 静态库名称.a”命令来查看出现问题的静态库支持的指令集

    lipo -info libLocalShopping.a

    然后根据输出可知支持哪些指令集,然后再去下载对应的指令集静态库

    解决方案二:

    如遇到类似下图中的错误:

    error

    优先去查看是否是由于缺失import头文件,导致;

    相关文章

      网友评论

          本文标题:Undefined symbols for architectu

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