博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
symbol(s) not found for architexture i386 路径错误
阅读量:4030 次
发布时间:2019-05-24

本文共 1055 字,大约阅读时间需要 3 分钟。

昨天这个错误又出现了,并不是因为重新删除后再打开的问题,我错了。

真正的原因是因为路径的错误,

首先我导入的第三方框架的时候,只是从一个工程把类拖到另一个工程里面,这样的话只是显示在工程的表面而已,不是真正的在目录里面。

然后在编译的时候,xcode回去找我所用到的第三方的框架的类,但是xcode是从文件夹目录里面找,而我没有把类copy到文件夹下面,所以报错。

最后正确的做法是,先把要添加的第三方的框架copy在文件夹目录下面,然后在xcode中add file就可以了,这样才是正确的添加第三方框架的做法。

另外我还发现了添加search Path的方法,开始一直找不到,最后发现是选择上面的ALL选项就显示添加的选项了,因为默认的是basic,所以不显示,只有调到ALL的时候才显示。另外添加目录的时候写上“$(inherited)”就表示从frameworks里面读取。

添加lib和sources是在TARGETS里面的Build Settings里面的Link和Compile两个选项里面添加。

详细资料参考的是这里:

Undefined symbols for architecture i386:

“_OBJC_CLASS_$_XXX”, referenced from:
objc-class-ref in XXX
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

发生这种错误通常是project.pbxproj这个文件引起的,尤其在多人合作开发的时候,svn提交不规范可能导致project.pbxproj发生错误,导致文件的引用不在project.pbxproj文件中。

xcode项目import文件会根据project.pbxproj来查找,查找不到文件的引用则会有上述的错误。

解决方法点击工程,在主界面中点击Build Phases,根据提示信息“XXX”来判断缺少什么文件,一般如果缺少自定义的文件,XXX会是缺少的类名,那么就在Complie Sources中加入该文件。如果缺少类库,则在Link Binary With Libraries中加入该类库。

from:http://qing.weibo.com/tj/5d4a5ca3330016ns.html

转载地址:http://vkrbi.baihongyu.com/

你可能感兴趣的文章
一个ahk小函数, 实现版本号的比较
查看>>
IP报文格式学习笔记
查看>>
autohotkey快捷键显示隐藏文件和文件扩展名
查看>>
Linux中的进程
查看>>
学习python(1)——环境与常识
查看>>
学习设计模式(3)——单例模式和类的成员函数中的静态变量的作用域
查看>>
自然计算时间复杂度杂谈
查看>>
当前主要目标和工作
查看>>
Intellij IDEA启动优化,让开发的感觉飞起来
查看>>
使用 Springboot 对 Kettle 进行调度开发
查看>>
Kettle链接MySQL报错:Driver class 'org.gjt.mm.mysql.Driver' could not be found
查看>>
如何优雅的编程,lombok你怎么这么好用
查看>>
一文看清HBase的使用场景
查看>>
除了负载均衡,Nginx还可以做很多,限流、缓存、黑白名单
查看>>
解析zookeeper的工作流程
查看>>
搞定Java面试中的数据结构问题
查看>>
CentOS7 安装 MySQL8
查看>>
springcloud中fegin第一次跨模块调用超时
查看>>
scratch win10 环境搭建
查看>>
谷歌浏览器安装 elasticsearch-head 插件
查看>>