热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

symbolsnotfoundforarchitecturearm64问题解决

为什么80%的码农都做不了架构师?在创建自己的静态库时引入afn3.x,真机调试的时候遇到了这个问题解决方法:在Xcode工程的Otherlinkerflags

为什么80%的码农都做不了架构师?>>>   hot3.png

在创建自己的静态库时引入afn3.x,真机调试的时候遇到了这个问题

解决方法:

   在Xcode工程的Other linker flags中添加-ObjC 标志

-------------

在Objective-C中,由于方法调用都是在运行期确定的,因此没有针对方法的symbol,只有针对类的。

这样在静态库中如果使用了category扩展已有的类,编译器不知道如何将category和已有的类整合在一起,就会导致unrecognized selector问题。添加-ObjC标志后,编译器会把一个类相关的所有目标文件都加载,这样就解决了这个问题。但是由于这样做会使可执行文件体积变大,所以没有设为默认选项。

在64位ios应用环境下,由于链接器的一个bug,在静态库中只有category没有对应的class定义时,-ObjC标志会失效。这时可以使用-all_load强制加载所有目标文件,或者使用-force_load指定加载某一个包。

在Xcode4.2之后,这个链接器bug已经被修复,因此-all_load 和 -force_load标志都不再需要了。在必要时添加-ObjC即可。

-----------

在引入第三方静态库的时候有时候也会出现这种问题:

此时 进入这个.a文件所在的目录,在终端使用  lipo -info xxx.a  看看这些静态文件是否支持64位,如果是不支持64位的可以下载一个最新的支持 64位的三方库.


转:https://my.oschina.net/zhxx/blog/698629



推荐阅读
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了iOS开发--漫谈内存管理相关的知识,希望对你有一定的参考价值。 ... [详细]
  • Objective C接入Sonar代码扫描
    目录技术方案环境准备扫描器配置项目配置SonarQube配置jenkins接入一些坑技术方案Sonar本身有对OC的代码扫描插件——SonarCFamily,但是是收费的。出于成本 ... [详细]
  • iOS App申请证书与发布流程
    今天刚好客户定制的APP需要上架,也提供了新的开发者账号,所以就顺带把申请证书与发布流程写一遍。证书是什么?上面这个就是我们申请好证书后 ... [详细]
  • iOS专项总结关于analyzeClang静态分析器SlenderFauxPasWarningLeaksTimeProfiler加载时间iOSApp启动过程帧率等如何优雅地显示帧率标签?iO ... [详细]
  • 关于Apple SiliconM1的进阶解读
    如果大家对文章感兴趣,欢迎转发,收藏,评论。感谢支持!如果你对计算机科学和科技类知识感兴趣,请Follow【老铁的最新号外】各平台同名,持续更新,感谢支持。 1.苹果为什么要自研A ... [详细]
  • 本文由编程笔记#小编为大家整理,主要介绍了StartingzookeeperFAILEDTOSTART相关的知识,希望对你有一定的参考价值。下载路径:https://ar ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了iOS数据库Sqlite的SQL语句分类和常见约束关键字。SQL语句分为DDL、DML和DQL三种类型,其中DDL语句用于定义、删除和修改数据表,关键字包括create、drop和alter。常见约束关键字包括if not exists、if exists、primary key、autoincrement、not null和default。此外,还介绍了常见的数据库数据类型,包括integer、text和real。 ... [详细]
  • TIOBE 2012年2月编程语言排行榜:C#力压C++
    TIOBE2012年2月编程语言排行榜已经发布,本月C#挤进前三,占领季军位置,C降至第四名。VisualBasic惨遭冷谈, ... [详细]
  • .net是什么语言_2019年3月编程语言排行榜:C语言、Python、C++都在增长
    程序猿(ID:imkuqin)编译原文:https:www.tiobe.comtiobe-indexTIOBE公布了2019年3月编程语言排行榜 ... [详细]
  • ObjectiveC与Swift之间的互相调用和跳转
    Objective-C与Swift之间的互相调用和跳转-一、OC和Swift互相跳转首先在需要引入Swift的文件中导入头文件#import工程名-Swift.hOC跳转Swift ... [详细]
  • iOS 10 Today Widget解析
    iOS10TodayWidget解析-一、前言二、TodayWidget新特性    安装完iOS10的beta版本,发现苹果越发重视widget了:快速浏览,及时从喜爱的应用中了 ... [详细]
author-avatar
riwei2004sohu
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有