clang: error: exit code 1 错误详解

自古美人都是妖i 提交于 2019-12-09 18:18:05

!最近一次在"导入Realm数据库,多人SVN协作时候发生错误",因为Relam核心库被墙,导致另一个电脑使用install时候报错;不使用pod手动导入即解决问题

先介绍什么样情况下会出现这个错误

  • 重复添加某个库
  • 某个库从pod管理到手动管理
  • pod库导入时同时导入framework
  • 文件重复
  • 一些库pod管理时,不同电脑报错
  • . . .

可以从如下几个方面着手排查

  • 1.多人开发更新代码not found错误

查看错误中提到的类,并且在右侧勾选target

 ld: symbol(s) not found for architecture armv7  
clang: error: linker command failed with exit code 1 (use -v to see invocation)  

处理

  • 2.更新完pod编译报错

检查Podfile,确认是否需要"use_frameworks!",如果不需要,去掉重新install

platform :ios, '8.0'
use_frameworks!
target 'MyApp' do
  pod 'AFNetworking', '~> 2.6'
  pod 'ORStackView', '~> 3.0'
  pod 'SwiftyJSON', '~> 2.3'
end
  • 3.如果是新添加的第三方库,且不是静态库

找到 Build settings->Linking->Other Linker Flags,将此属性修改成-all_load 或者 -ObjC 添加库报错

  • 4.库从pod迁移到工程文件,报错

同样是上边的路径,检查删除迁移的库

  • 5.还不能解决

看看是不是有新添加的文件跟之前文件同名, 错误信息中出现了某个类的名字,去原文件中看看#import了哪些第三方库,把这些库挨个注释排除,找到出错的那个库,然后按照官方提供的步骤重新添加一遍。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!