library not found for -xxx

linker command failed

一般來(lái)說(shuō)這個(gè)錯(cuò)就是 我的xxx庫(kù)的連接引用有問(wèn)題,常見(jiàn)解決辦法:
方法一:在Build Phases 中的 Link Binary With Libraries 中對(duì)其xxx取消并且重新引用,同時(shí)在Build Setting 中的 Build Active Architecture Only改成 YES,最后Clear 下。

方法二:直接在Build Settings 中的 Library Search Paths 中手動(dòng)添加其路徑。

方法三:用了CocoaPods 之后,直接 pod update,或pod install。因?yàn)檫@個(gè)問(wèn)題換個(gè)角度來(lái)說(shuō)就是 libPods.a是紅色 缺失的,所以只需要在終端 pod update就可以了。

然而這兩種都沒(méi)有解決我的問(wèn)題,像第一種方法壓根在 Link Binary With Libraries 找不到該庫(kù),第二種方法我也是嘗試的,但是不對(duì),這個(gè)庫(kù)是在CocoaPods 中的,所以嘗試第三種方法,雖說(shuō)成功了,然而我卻不敢用,因?yàn)轳R上上線了,直接 update 更新的地方有點(diǎn)多,又是Xcode 8 的環(huán)境下,不敢立即用。
在網(wǎng)上找了一圈,居然發(fā)現(xiàn)有朋友和我有同樣的經(jīng)歷 灰燼里有顆心的 ld: library not found for -lXXXXX 的解決方法, 連過(guò)程都是一樣,然而并不符合這邊,繼續(xù)追尋答案......
方法四:涉及到CocoaPods ,在其官網(wǎng)上提示,在 Edit Scheme 中的build 里加上 Pods, 然后再編譯。

另一方法

然而我這邊還是編譯失敗的.......

方法五:用最直接的辦法啦,直接將缺失的文件干掉再補(bǔ)上去,和方法一有點(diǎn)像,但是這個(gè)位置有點(diǎn)不同。

去掉lib

然后直接Copy 在改目錄下

注意的是:只要放在該目錄下,并不要拖到Frameworks 中,否則又會(huì)出錯(cuò)。暫時(shí)來(lái)說(shuō),我用了這種方法。

總的來(lái)說(shuō),像我這種在 CocoaPods 中的錯(cuò)誤情況,直接用 **方法三 pod update **就好了,但是我們情況有點(diǎn)特殊,只好用方法五啦,暫時(shí)沒(méi)發(fā)現(xiàn)其他方法,如有好的方法歡迎告之。

PS: 另外還有一種直接的方法,在SVN 頭上上傳該文件,因?yàn)槲疫@邊該問(wèn)題的產(chǎn)生就是由于SVN 少傳了這個(gè)文件!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容