一、库文件丢失
如果提示的文件是库文件,比如说是sdk的文件,有可能是就是丢失,或者没有引用到该工程。
1.点击这个.a库,或者framework,看右边的target里面是否引用到了当前的target工程
2.看build Phases里面是否添加了要使用的库,如果是红色就是缺失了
![](http://cdn.hudongdong.com/content/uploadfile/201503/0be01425897065.png)
3.看build settings里面的Framework Search Paths和Library Search Paths里面的路径是否包含了当前的库文件
二、cpp或.mm等源文件没有添加
这个和库丢失差不多,就是报的错是一个类的功能没有,这时可以看Build Phases选项里面的Compile Sources里面是否包含了这个报错的类的.cpp或者.mm文件,同样也可以直接点这个文件,看右侧是否加入当前使用的target选项里面
![](http://cdn.hudongdong.com/content/uploadfile/201503/0a781425620741.png)
三、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