Xcode报referenced from错误的总结

Posted Ning静致远

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Xcode报referenced from错误的总结相关的知识,希望对你有一定的参考价值。

一、库文件丢失

如果提示的文件是库文件,比如说是sdk的文件,有可能是就是丢失,或者没有引用到该工程。

1.点击这个.a库,或者framework,看右边的target里面是否引用到了当前的target工程

技术分享

2.看build Phases里面是否添加了要使用的库,如果是红色就是缺失了

技术分享

3.看build settings里面的Framework Search Paths和Library Search Paths里面的路径是否包含了当前的库文件

二、cpp或.mm等源文件没有添加

这个和库丢失差不多,就是报的错是一个类的功能没有,这时可以看Build Phases选项里面的Compile Sources里面是否包含了这个报错的类的.cpp或者.mm文件,同样也可以直接点这个文件,看右侧是否加入当前使用的target选项里面

技术分享

三、cpp或者.mm文件加多了

除了上面说的是因为没有添加报错的,还有一种是报的错的那个文件你就没有使用到

技术分享

比如这个HMSDKController是没有使用的,是其他的target才使用的,这时就可能是源文件加多了,把它从Build Phases选项里面的Compile Sources里面去掉,或者点击这个源文件,取消勾选这个target就可以了。

四、库文件不支持64位编译

如果开头就是这种报错

Undefined symbols for architecture arm*64

这种的,那就有可能是你引用的这个库文件不支持64位编译,解决或者测试方法就是把build setting选项里面的Valid Architectures里面的arm64去掉,不让编译64位的

后期如果再遇到其他的再补充了,关键就是找好路径和文件

---

本文由胡东东博客整理,转载请注明本文标题和链接
本文标题: 《Xcode报referenced from错误的总结
本文链接: http://www.hudongdong.com/bug/271.html

以上是关于Xcode报referenced from错误的总结的主要内容,如果未能解决你的问题,请参考以下文章

在JSP中实例化类对象报编译错误“Classes from the default package must not be referenced from JSP file“

iOS:Xcode的beta下编译低版本项目时,出现的Link错误( "_fwrite$UNIX2003", referenced from:)

_OBJC_CLASS_$_ClassName", referenced from:

在eclipse中新建java问题报错:The type XXX cannot be resolved. It is indirectly referenced from required .clas

iOS- "_OBJC_CLASS_$_WKWebView", referenced from: 解决记录

iOS "_OBJC_CLASS_$_JPUSHService", referenced from: 解决办法