zoukankan      html  css  js  c++  java
  • Undefined symbols for architecture arm64(其cpu架构)

    "_OBJC_CLASS_$_XXX",referenced from: 之类的问题,很多人看到这些很头疼,不知道从何下手去修改。以下是我总结的相关修改办法。如下图

      

        这是一个很明显的在arm64架构下,找不到定义的错误。  这类错误我总结的就六种,.m 缺失、静态库没导入(不支持arm64 架构,现在基本都支持了,如果不支持更新相关静态库。怎么查看参考文末)、library路径问题、header 文件路径、Valid Architectures 指定错误,连接器参数问题

     1.那么首先检查 Architectures 选项

      通常情况下,Build Active Architectures Only  在Debug 模式为YES,Release模式为NO。

            Valid Architectures  为 arm64 armv7 armv7s

      需要你了解的是  只有连接了Active 的调试设备,这个选项才生效,只编译当前设备对应的指令集。如果你没有连接设备,那么这里即使是YES,也不会生效。编译器会按照你的Valid Architectures和Architectures指定的二进制包进行编译。

    具体参考

       armv6 设备: iPhone, iPhone2, iPhone3G, 第一代、第二代 iPod Touch

       armv7 设备: iPhone3GS, iPhone4, iPhone4S

                            iPad, iPad2, iPad3(The New iPad), iPad mini

                            iPod Touch 3G, iPod Touch4

      armv7s设备: iPhone5, iPhone5C, iPad4(iPad with Retina Display)

      arm64 设备: iPhone5S, iPad Air, iPad mini2(iPad mini with Retina Display)  之后出的到X都是arm64的设备了

        2. 向 Link Binary With Libraries 中 添加相应的framework   ,向Compile Source 添加你缺失的.m

        3.修改 Other Linker Flags   添加 -ObjC 和 $(inherited),(也可以直接添加缺失的framework 如:  -framework "frameworkname"

      4. Header Search Path 和Library  Search Path 先添加$(inherited),如果编译后,没有出现,就手拖缺失文件的相关路径(如果路径为多层级,选择递归搜索recursive 默认是non-recursive)

        5.最后检查 framework 和.m 有没有 勾选 target membership 。

      

      总之,如果先思考是静态库问题,还是其他文件问题,会节约很多时间。以上总结,以留档备查,也希望可以给别人一些思路。

      实例 1:      错误信息中有明显的提示  does not contain bitcode。  所以 直接设置 bitcode 为NO 就可以了

     

    附:

       查看.a或.framework 的静态库文件都支持哪些架构, 终端 进入工程根目录 find . -name *.a -exec lipo -info "{}"  或者.framework

  • 相关阅读:
    ios UIWebView截获html并修改便签内容(转载)
    IOS获取系统时间 NSDate
    ios 把毫秒值转换成日期 NSDate
    iOS  如何判断当前网络连接状态  网络是否正常  网络是否可用
    IOS开发 xcode报错之has been modified since the precompiled header was built
    iOS系统下 的手机屏幕尺寸 分辨率 及系统版本 总结
    iOS 切图使用 分辨率 使用 相关总结
    整合最优雅SSM框架:SpringMVC + Spring + MyBatis 基础
    Java面试之PO,VO,TO,QO,BO
    Notes模板说明
  • 原文地址:https://www.cnblogs.com/DafaRan/p/8118205.html
Copyright © 2011-2022 走看看