[iOS]编译报错:ld: symbol(s) not found for architecture x86_64

最近经常遇到这种编译错误:ld: symbol(s) not found for architecture x86_64


网上有许多关于这个错误的,有的说是缺少依赖库,有的说在Build Setting-->Linking-->Other Linker Flags添加-licucore,但是都没有解决问题,最后找到一个说是缺少文件的引用,缺少哪个文件?

出现这个问题的原因,有可能是项目中的静态库引起,有可能是缺少文件引用:

1.项目中含有静态库

可能是该静态库不支持在模拟器下编译,可使用真机或Generic iOS Device,一般就不会出现这个错误了;

2.缺少文件引用

从错误信息的""_OBJC_CLASS_$_FMDataBase",referenced from:"能够看出,是缺少FMDataBase文件的引用;

解决方法:

在Build Phases-->Compile Sources(items)中,添加报错的.m文件,点左下角的"+",在弹出框中找到报错的.m文件,选中,add


再编译,这个错误就消失了...

3.缺少文件

如果以上还不能解决问题,有可能是项目中缺少文件,一般是在从SVN更新代码的时候,虽然代码更新到了本地仓库,有时候还需要手动将相应的文件引入到项目工程中,同样,从""_OBJC_CLASS_$_FMDataBase",referenced from:"能够看出,是缺少FMDataBase文件,

在左侧文件列表:右键-->选择"Add Files to ...",找到缺少的文件,选中后add即可!

PS:如果找不到,可问下创建这个文件的小伙伴,把它放在哪个文件夹下面了...



  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值