clang: error: exit code 1 錯誤詳解

!最近一次在"導入Realm數據庫,多人SVN協做時候發生錯誤",由於Relam核心庫被牆,致使另外一個電腦使用install時候報錯;不使用pod手動導入即解決問題

先介紹什麼樣狀況下會出現這個錯誤

  • 重複添加某個庫
  • 某個庫從pod管理到手動管理
  • pod庫導入時同時導入framework
  • 文件重複
  • 一些庫pod管理時,不一樣電腦報錯
  • . . .

能夠從以下幾個方面着手排查

  • 1.多人開發更新代碼not found錯誤

查看錯誤中提到的類,而且在右側勾選targetios

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 添加庫報錯ui

  • 4.庫從pod遷移到工程文件,報錯

一樣是上邊的路徑,檢查刪除遷移的庫code

  • 5.還不能解決

看看是否是有新添加的文件跟以前文件同名, 錯誤信息中出現了某個類的名字,去原文件中看看#import了哪些第三方庫,把這些庫挨個註釋排除,找到出錯的那個庫,而後按照官方提供的步驟從新添加一遍。orm

相關文章
相關標籤/搜索