1. 程式人生 > >library not found for -lPods 的解決辦法

library not found for -lPods 的解決辦法

在老專案工程中使用cocoapods,可能會報這個錯誤:library not found for -lPods .

導致這個錯誤可能有兩個原因,這兩個原因在編譯過程中都是有蛛絲馬跡可循的。

原因1:

在 pod install時,就會有告警資訊提示:

xxx target overrides the `OTHER_LDFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.debug.xcconfig'. This can lead to problems with the CocoaPods installation

xxx target overrides the `HEADER_SEARCH_PATHS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation

xxx target overrides the `OTHER_CFLAGS` build setting defined in `Pods/Target Support Files/Pods/Pods.release.xcconfig'. This can lead to problems with the CocoaPods installation

This can lead to problems with the CocoaPods installation
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.
    - Use the `$(inherited)` flag, or
    - Remove the build settings from the target.

很明確的告知:通過新增 `$(inherited)` flag 可以解決該問題。

根據除錯確認,OTHER_LDFLAGS 指的是 other linker flags; OTHER_CFLAGS 指的是 other c flags;HEADER_SEARCH_PATHS 指的是 header search paths.

將這三處修改完畢後再次執行pod install,可以發現告警資訊已經不再出現了。

原因2:

在編譯時有如下的警告和錯誤:

1.警告: Target 'Pods' of project 'Pods' was rejected as an implicit dependency for 'libPods.a' because its architectures 'arm64' didn't contain all required architectures 'armv7 arm64'

2.錯誤: ld: library not found for -lpop
clang: error: linker command failed with exit code 1 (use -v to see invocation)

這裡不留神可能警告會被忽略(畢竟在一個老專案中有一些警告很正常),但這個警告才是問題的關鍵。

pod裡面的build選項裡build active architecture only 在 debug情形下預設是 YES, 這裡如果和你專案的該設定不匹配(筆者用來除錯的專案這裡設定就是NO)的話那麼就會報告該錯誤。

在pods裡面的target中挨個修改其配置和原有的工程一致,然後clean編譯,專案即可正常執行。

相關推薦

"library not found for - "解決辦法

在我們編譯的時候有時候會報這個錯誤 "library not found for - " 由於是我們在專案中使用了一些第三方的庫,就比如我再使用百度的靜態庫檔案的時候,報出的這個錯誤。 當xcode在編譯的時候卻找不到這個庫,從而導致如此。 所以我們要讓xcod

修改工程名稱編譯是報ld: library not found for -lPods-lXXX解決辦法

給原來的工程重新修改下名字,編譯報錯: ld: library not found for -lPods-YXFDCategories clang: error: linker command failed with exit code 1 (use -v to see invocati

library not found for -lPods解決辦法

在老專案工程中使用cocoapods,可能會報這個錯誤:library not found for -lPods .導致這個錯誤可能有兩個原因,這兩個原因在編譯過程中都是有蛛絲馬跡可循的。原因1:在 pod install時,就會有告警資訊提示:xxx target over

使cocopods管理開源庫編譯出現Library not found for -lPods問題的解決方法

Go to Product > Edit Scheme Click on Build Add the Pods static library, and make sure it's at the top of the list Clean and build again If that doesn'

解決 ld: library not found for -lPods的問題

最近計劃把公司的專案重構一下,第一步就是引入CocoaPods(以下簡稱pods)來管理第三方庫。但是這第一步就不是太順利。 首先建好Podfile,並在命令列中輸入pod install,結果報以下錯誤 [!] The XXX target overr

library not found for -lPods-AFNetworking解決放案

   出現library not found for -lPods-AFNetworking這個報錯, 來自於我從git上面把我專案直接Download下來的,我的專案裡面用了CocoaPods的,現

ios pod的使用遇到 library not found for -lPods

      今天從svn上拿下來我們一起開的工程,使用pods管理第三方庫,執行pod install 結果出現了library not found for -lPods 的錯誤,工程跑不起來,蛋疼的找了好久,在網上找也沒有找到解決的辦法,後來就對比pods的檔案,返現在

xcode編譯程式碼的時候 ld: library not found for -xxx 解決方法

有時候在Xcode下面我們需要引入第三方類庫,或者自己寫的靜態庫。如果配置不正確,就會出現如下錯誤“ld: library not found for -lpcre clang: error: lin

Xcode10:library not found for -lstdc++.6.0.9 臨時解決

Xcode10:library not found for -lstdc++.6.0.9 臨時解決 下載stdc++.6.0.9 提取自Xcode9 百度雲連結:stdc++.6.0.9 部分專案依賴 libstdc++.6.0.9 的會在Xcode 10無法執行 其

Xcode 10 升級專案報錯 “directory not found for option” and “library not found for -libstdc++.6 ~解決方法

    聯絡人:石虎 QQ:1224614774   暱稱: 嗡嘛呢叭咪哄                       &

解決 Xcode10 編譯錯誤 ld: library not found for -lstdc++

升級完 Xcode10 之後,開啟老的工程,編譯提示錯誤: ld: library not found for -lstdc++6.0.9 這是因為蘋果在 Xcode10 中移除了 libstdc++ 這個庫,由 libc++ 這個庫取而代之。如果是自己工程裡引用了 libstdc++ 庫,在 Lin

"ld: library not found for -l...." 問題的解決

現象: 在編譯工程時,有時會遇到類似“ld: library not found for -l....”的錯誤提示。 原因: 通常這是由於工程在編譯時找不到需要的連結庫而導致的。 解決方法: 一般可以通過如下方法解決,在工程的Target中選中要執行編譯的某個target,然後“get info”,開啟Bu

ld: library not found for -lXXXXX 編譯問題的解決方法

團隊開發的時候每次更新後都有可能碰到各種各樣的問題,昨天同事對專案結構做了些修改,更新後編譯就遇到下面的情況:     ld: library not found for -lAFNetworking  這個錯誤是說編譯時找不到AFNetworking這個連結庫,但是我

完美解決:"library not found for

分析原因,解決問題 在Xcode編譯的時候,可能會遇到報這個錯誤"library not found for - ",這是為什麼呢? 由於我們在專案中使用了一些第三方的庫,如百度的靜態庫。當Xcode在編譯的時候卻找不到這個庫,所以我們要讓Xcode知道這個

關於library not found for -lAPOpenSdk的錯誤解決

今天使用友盟給專案新增第三方登入功能,我使用的是cocoapods,匯入友盟的庫後,出現這麼個錯誤 突然各種蛋疼,以前也沒出現過啊!! 這是說沒有找到那個庫。 結合度孃的搜尋解決方法為: 1.sho

ld: library not found for -lgcc_s.10.5錯誤的解決

升級至Xcode 3.2.6,編譯時出現“ld: library not found for -lgcc_s.10.5”錯誤,將Edit Project Settings中的Project Format修改為Xcode3.1-compatible。這樣可以在上真機編譯和執行,

Laravel5.5執行 npm run dev時報錯,提示cross-env找不到(not found)的解決辦法

smo font span links 命令 develop ebp amp webpack Laravel 5.4 Mix & Laravel5.5執行 npm run dev時報錯,提示cross-env找不到(not found)的解決辦法 首先

iOS library not found for -lstdc++.6.0.9

這個是庫報錯了,Xcode 10 取消了內建支援的 libstdc++ 庫。 解決方法: 可以直接使用libc++ 這個庫來替換,或者麻煩一點從Xcode 9 那邊拷貝一個libstdc++.6.tbd 和 libstdc++.6.0.9.tbd到xcode10中 路徑 /Appl

Xcode10 clang error:library not found for -lstdc++.6.0.9

Xcode升級到10.0之後,編譯報錯 蘋果於北京時間6月5號凌晨,向開發者提供MacOS、iOS、WatchOS、TvOS四大系統更新,Xcode10 beat版不負眾望,繼續延續了歷史,新版本仍然出問題了。 1、找到報錯 --> 右鍵 --> Reveal in Log。

Xcode 10 找不到 library not found for -lstdc++.6.0.9

解決方案 : 真機 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/ 模擬器 /Applications/Xcode.