在Xcode編譯的時候,遇到報這個錯誤"library not found for - "

分析原因,解決問題:

在Xcode編譯的時候,可能會遇到報這個錯誤"library not found for - ",這是爲什麼呢?
由於我們在項目中使用了一些第三方的庫,如百度的靜態庫。當Xcode在編譯的時候卻找不到這個庫,所以我們要讓Xcode知道這個庫文件在哪裏,這樣在編譯的時候就可以輕鬆的找到庫了。


解決方法:

獲取 庫文件所在的文件路徑 ,添加到Target的Build Settings界面,如圖:


若上述方法還未能解決,以下共有3種方法

方法一:點擊 XCode 工程文件,在 Build Phases 中查看 “ Link binary With Libraries” 如果不出所料,你應該能發現有一到數個的條目是用紅色字體來顯示的。 說明這些被工程引用的這些文件,其物理文件已經不處於之前所記錄的地方了。 這種情況下,右鍵點擊紅色條目,選擇 “Reveal in Project Navigator”, 此時大抵能在左側欄中定位到缺失文件所在的路徑,接下來就好辦了,找到缺失的文件,挪回它應該待的地方。


方法二: 在工程的 Target 中選中要執行編譯的某個target, 然後 “get info”,打開 Build 設置頁面,在 “ Library Search Path” 中添加缺失鏈接庫的所在文件夾的路徑。

方法三:關閉Xcode,在控制檯打開到工程目錄,用pod install 命令重新安裝,成功後再打開Xcode編譯項目。

常見問題的處理方法


總結1:library not found for -XXX 的問題有可能是你的某個庫的連接引用有問題,解決的辦法就是在項目的target裏,選中Link Binary With Libraries 裏的.a或framework 取消再加入,就可以了。


總結2:warning:directory not found option 的問題可能是framework search paths 還有Library Search Paths 裏面並沒有這個路徑,刪除即可。


總結3:duplicate就是重複的意思,那麼看代碼 要刪除重複的openUDID,以及libwoa_two和sbjson衝突了,刪除sbjson的點m即可.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章