文档章节

【iOS-bug】- Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_XCBankChooseItemCell"

卡奇匠
 卡奇匠
发布于 2016/11/25 13:46
字数 575
阅读 50
收藏 0

【iOS-bug】- Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_XCBankChooseItemCell"

字数634 阅读334 评论2 喜欢7

【 Bug - architecture x86_64 】

今天碰到了一个bug,代码提示:

Undefined symbols for architecture x86_64:

"_OBJC_CLASS_$_XCBankChooseItemCell", referenced from:

objc-class-ref in XCFundBanksTableViewController.o

ld: symbol(s) not found for architecture x86_64

clang: error: linker command failed with exit code 1 (use -v to see invocation)

截屏如下:

以前也总碰到bug,觉得没难改的,不过今天这个真的是弄了好久,问了好多人,都没有搞定。后来在 机智的我 的头儿轻轻的指导下,瞬间搞定。

 

【 Bug详情 】 

【 问题来源 】

1.接手工程,修改bug,需要在工程中自定义一个cell

2.然后我加了一个名为“ XCBankChooseItemCell ”继承自UItableViewCell的类

 

3.于是,直接产生了如题错误,程序直接运行不了

 

【 问题解决过程 】

1.在stack flow上,查到了这个问题的解决方案,地址如下

http://stackoverflow.com/questions/31271572/undefined-symbols-for-architecture-x86-64-objc-class-todoitem

(1)里面解释的答案意思是:你建的文件,没有在那个工程里面,或者是没有在Target中编译

(2)给出的建议是:确保“ XCBankChooseItemCell 类”没有丢失,如果没丢失,把“ XCBankChooseItemCell 类”添加到Target中编译

2.刚开始看,没懂,我以为是要把“ XCBankChooseItemCell 类”,在Build Phases->Compile Sources中把 .m 文件添加到编译中,结果还是不行,后来经过我头儿指点,才理解的,就是第一条的那个意思

 

【 问题解决】

需要修改一个地方

1.原来这样:

2.改成这样:

就OK了

解释下:新建的“ XCBankChooseItemCell ”类默认不参加Target编译,反而参加Framework702的编译中了,导致的工程无法运行。

 

【 最后总结下 】 

architecture x86_64 类似问题可能产生的原因

1.新建类,未参加 Target 编译(与我的问题一模一样) 

2.检查 targets --> build phases --> Compile Sources 中是否缺少 .m 文件

3.检查 targets --> build phases --> link binary with libraries 是否缺少依赖库

4.有些三方库可能需要导入libz.dylib

5.检查库文件导入的路径不对或不存在,targets --> building setting --> search paths路径

6.检查三方库是否重复导入

6.-fno-objc-arc 的问题,检查下文件编译环境

注意 : 可以真机测试试下。 这是模拟器的

© 著作权归作者所有

共有 人打赏支持
下一篇: realm数据库
卡奇匠
粉丝 23
博文 67
码字总数 68740
作品 0
海淀
程序员
私信 提问
IOS项目集成phonegap

第一次接触 按照http://docs.phonegap.com/en/edge/guide_platforms_ios_webview.md.html#iOS%20WebViews官网给出的提示一步步做到最后 出现:1不支持 arm64 Undefined symbols for architec......

158954945
2015/01/04
1K
0
ios 我换成xcode 7后 各种问题

不知道 怎么解决了 以下就是报的错 ld: warning: object file (/Volumes/Seagate Backup Plus Drive/workUp/RedBull_BSRC_2.8.5_dev_20141209/RedBull_BSRC_2.8.5_dev_2015TJL/Libraries/lib......

CEOIOS
2015/10/04
6.5K
3
Xcode制作动态及静态Framework

有没有写SDK或者要将一些常用的工具类做成Framework的经历? 你或许自己写脚本完成了这项工作,相信也有很多的人使用 iOS-Universal-Framework ,随着Xcode 6的发布,相信小伙伴们已经都知道了...

余成海
2015/10/28
0
0
iOS学习之Map,定位,标记位置的使用

iOS上使用地图比Android要方便,只需要新建一个MKMapView,addSubView即可。这次要实现的效果如下: 有标注(大头针),定位,地图。 1、添加地图 1.1 新一个Single View app ,选择默认项,创...

知行合一100
2012/06/29
0
0
添加第三方类库造成的linker command failed with exit code 1 (use -v to see invocation)的错误调试

linker command failed with exit code 1 (use -v to see invocation)这个错误貌似遇见并不止一次,当我想用某个第三方类库的时候(如SBJson),我直接把类库文件copy到工程目录里面,然后一编...

孙启超
2013/11/21
0
0

没有更多内容

加载失败,请刷新页面

加载更多

6、消息发布和订阅功能

一:介绍 redis提供了简单的发布订阅功能,producer往某个channel推送,client订阅指定的channel(可以模糊匹配),这样就能够消费。 redis和rabbitmq的区别 可靠性 redis :没有相应的机制保...

刘付kin
36分钟前
1
0
OSChina 周日乱弹 —— 我重新说

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享矢野立美的单曲《LOVE Theme from TIGA <M-2>》: 《LOVE Theme from TIGA <M-2>》- 矢野立美 手机党少年们想听歌,请使劲儿戳...

小小编辑
今天
91
7
Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
10
0
VSCODE 无法调试

VSCODE 无法调试 可以运行 可能的原因: GCC 的参数忘了加 -g

shzwork
昨天
6
0
理解去中心化 稳定币 DAI

随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器。 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机制,真的有一点复杂。耐心看完...

Tiny熊
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部