【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的升級錯誤解決
- Intel彙編 ld連結錯誤Intel
- iOS12-Xcode12-Buildtime錯誤:framework not found Pods 或 No such module 'XXX'iOSXCodeUIFramework
- mac下的LD_LIBRARY_PATH是DYLD_LIBRARY_PATHMac
- [轉載] RPATH/LD_LIBRARY_PATH/RUNPATH
- 關於vuex的錯誤Vue
- iOS上傳App Store報錯:no suitable application records were foundiOSAPPUI
- 小程式錯誤:Component is not found in path
- RPATH 的優先順序高於 LD_LIBRARY_PATH、LD_PRELOAD 這些環境變數嗎?變數
- 關於 iOS 中的庫iOS
- vscode中關於eslint的各種報黃線錯誤VSCodeEsLint
- ADS報錯:Sorry, but the license for the following library is not available: "System Model Library"AI
- oracle關於ORA-12988錯誤Oracle
- gorm忽略報錯: record not foundGoORM
- Eclipse 啟動專案錯誤:class not foundEclipse
- iOS xcode9.3 pod 刪除框架之後,clang報錯:not found框架iOSXCode框架
- CentOS 已安裝virtualenv, 但還是報錯誤 bash: virtualenv: command not foundCentOS
- 使用URLClassLoader報錯not class found exceptionException
- 【linux報錯】-bash: xhost: command not foundLinux
- shell指令碼執行錯誤 $‘\r‘:command not found指令碼
- 解決shell指令碼錯誤$’r’ command not found指令碼
- 解決 The ‘supervisor==3.2.0‘ distribution was not found and is required by the application錯誤UIAPP
- 事故分享——關於Conda啟用環境失敗並報gbk相關錯誤
- [轉]CFLAGS、CXXFLAGS、FFLAGS、FCFLAGS、LDFLAGS、LD_LIBRARY_PATH區別
- xcode10 library not found for -lstdc++.6.0.9XCodeC++
- 關於 Laravel 佇列報錯Laravel佇列
- 關於/usr/bin/ld: cannot find -lXX的問題
- 使用Boost庫報error C4996錯誤Error996
- 資料庫報ORA-01839的錯誤資料庫
- Flutter在iOS裝置執行報錯fatal error: 'Flutter/Flutter.h' file not foundFlutteriOSError
- python virtualenv報錯-bash: virtualenv: command not foundPython
- 【maven】Maven報錯 zip END header not foundMavenHeader
- nacos2.3.0版本403 user not found錯誤
- PyTorch出現錯誤“RuntimeError: Found dtype Double but expected Float”PyTorchError
- win10 關閉自動傳送錯誤報告方法 windows10錯誤報告怎麼關閉Win10Windows
- 引入第三方庫報錯Could not find method apt() for argumentsAPT