【IOS】關於cocopods更新第三方庫報ld: library not found for -lXXXXXX錯誤
昨天更新專案第三方庫出現了
Undefined symbols for architecture x86_6(arm64)
錯誤,有關於這個錯誤的請檢視上一篇文章,話題至此我們們看看今天得問題。
今天我更新更新的是另一個專案的
第三方類庫SDK
,更新完之後報ld: library not found for -lXXXXXX
,這個錯誤是說編譯時找不到XXXXXX
這個連結庫,但是我在專案程式碼中找到對引用的地方,沒有其他異常。有三種解決方法。
方法一:點選 XCode 工程檔案,在
Build Phases
中檢視“ Link binary With Libraries”
如果不出所料,你應該能發現有一到數個的條目是用紅色字型來顯示的。
說明這些被工程引用的這些檔案,其物理檔案已經不處於之前所記錄的地方了。
這種情況下,右鍵點選紅色條目,選擇“Reveal in Project Navigator”
,
此時大抵能在左側欄中定位到缺失檔案所在的路徑,接下來就好辦了,找到缺失的檔案,挪回它應該待的地方。方法二:在工程的
Target
中選中要執行編譯的某個target, 然後“get info”
,開啟Build
設定頁面,在“ Library Search Path”
中新增缺失連結庫的所在資料夾的路徑。本來看到這兩種方法時覺得第一種應該就能解決了,因為報錯的資訊看起來就像是原來的檔案引用不到了而已,但是當我按照第一種方法去做時,發現
“ Link binary With Libraries”
下沒有紅色的條目,而且本來就沒有XXXXXX
這個條目,所以第一種方法不適用。第二種方法也不對,因為我們的專案很多庫是通過pod管理的,XXXXXX
也是pod管理的庫之一。這時候我就想起可能是pod的原因,在嘗試了pod update
無果後,發現了第三種解決類似問題的方法。方法三:關閉Xcode,在控制檯開啟到工程目錄,用
pod install
命令重新安裝
,成功後再開啟Xcode編譯專案。
但是這三種方法都不適用,因為更行的第三方庫Podfile 檔案中的地址修改了導致之前的匯入的類庫名字沒有刪除而找不到,所以只能是又找的其他方法是工程執行的
Target
--->Build Setting
--->Other Linke Flags
把找不到的類庫名字刪除就可以了。
當然也有可能是倒入庫沒有加進去,根據自己的實際情況進行處理,一般上述的是三種方法就可以解決大部分問題。
相關文章
- 關於cocopods更新第三方庫報ld: library not found for -lXXXXXX錯誤
- 關於Xcode10更新三方SDK報錯:library not found for -libstdc+XCode
- cocopods 簡單建立第三方類庫,及庫的更新
- Cocopods的升級錯誤解決
- DBCA建庫出現CHMOD NOT FOUND錯誤
- Intel彙編 ld連結錯誤Intel
- 關於jive資料庫連結的錯誤?資料庫
- 關於vuex的錯誤Vue
- rlwrap ./configure報錯configure: WARNING: No termcap nor curses library found
- iOS上傳App Store報錯:no suitable application records were foundiOSAPPUI
- 關於VS報無法解析外部符號的錯誤符號
- mac 關於使用protobuf出現ld: symbol(s) not found for architecture x86_64的問題MacSymbol
- iOS第三方類庫彙總【持續更新】iOS
- gorm忽略報錯: record not foundGoORM
- 關於 JavaScript 錯誤捕獲JavaScript
- 關於記憶體錯誤記憶體
- Linux升級核心後報No volume groups found錯誤Linux
- Linux 共享庫:LD_LIBRARY_PATH 與ld.so.conf_愛過了就好_新浪部落格Linux
- 淺析 Linux LD_LIBRARY_PATHLinux
- 關於 iOS 中的庫iOS
- 解決警告“ld: warning: directory not found for option”
- mac下的LD_LIBRARY_PATH是DYLD_LIBRARY_PATHMac
- 小程式錯誤:Component is not found in path
- MyBatis 錯誤:Invalid bound statement (not found)MyBatis
- 關於weblogic pool 一錯誤除錯Web除錯
- ***報錯Class 'Redis' not found in(原創)Redis
- QT錯誤之——collect2:ld returned 1 exit statusQT
- [轉載] RPATH/LD_LIBRARY_PATH/RUNPATH
- 關於 Laravel 佇列報錯Laravel佇列
- 關於第三方的網路庫
- Invalid bound statement (not found)錯誤解決
- RPATH 的優先順序高於 LD_LIBRARY_PATH、LD_PRELOAD 這些環境變數嗎?變數
- CentOS 已安裝virtualenv, 但還是報錯誤 bash: virtualenv: command not foundCentOS
- iOS 解決 Xcode 8中更新 SnapKit 3.0 的錯誤iOSXCodeAPK
- 關於mysql 1067的錯誤MySql
- 關於”kccrsz“錯誤處理一則
- 關於jivejdon 4.0的執行錯誤
- 使用URLClassLoader報錯not class found exceptionException