廢棄第三方庫導致的library not found for -lXXXXX(linker command failed ) 完美解決方法

編譯錯誤是讓人頭疼錯誤,它沒有指向具體代碼而是指向第三方庫的編譯錯誤。有的庫可能我們以前使用,現在不再使用,把它刪除了或通過Podfile文件修改重新更新了,但是它還是給我們搗亂。通常是對它沒有刪除干凈引起了。通常有四種解決方案:

方法一:

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

方法二:

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

方法三:

關閉Xcode,在控制臺打開到工程目錄,用pod install 命令重新安裝,成功后再打開Xcode編譯項目。這個是個人組件版本更新,你的本地私有庫還是使用的原來版本。

方法四:

檢查在工程的 Target 中選中要執(zhí)行編譯的某個target, 打開 Build 設置頁面,查找Other Linker Flags.看你使用還有-l”FBRetainCycleDetector”或-l”MLeaksFinder”這些你刪除的庫。
我的編譯不通過就是通過方法四解決的。測試環(huán)境需要使用無侵入式內存泄漏第三方庫”MLeaksFinder”,它依賴另一個庫”FBRetainCycleDetector”。
正式環(huán)境我們不用內存檢測庫”MLeaksFinder”,通過修改Podfile文件(#pod ‘MLeaksFinder’,’0.2.1’),讓后使用命令pod update –verbose –no-repo-update來刪除這個庫。當更新完成,打包時報這個錯誤。

?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容