##前言
library not found for -libstdc++.6.0.9
,今天做專案的時候碰到這個問題,解決的過程中遇到了目錄路徑不對的問題(不在通常的/Applications/Xcode.app......下面),花費了我半天時間,記錄一下,也給別人當做參考。
###解決方法
這個問題的原因是Xcode10把libstdc++換成了libc++,解決方法有2種,選擇哪種都可以,能解決問題就行;但是,值得注意的是這種情況:你的專案引用了第三方庫(如極光推送),然而這個庫引用了舊庫libstdc++,這時候你只能用方法2了。所有解決方法如下:
方法1:
單擊專案名-->Build Phases
-->Link Binary With Libraries
,刪除6.0.9依賴新增Libc++.tdb
注
:如果本身上圖已經沒有6.0.9依賴庫還是報錯的話,點選Pods
-->Targets Support Files
--> Pods-LifeFinancialStreet
找到字尾為.xcconfig
的兩個檔案找到6.0.9依賴庫刪掉即可
方法2: 對應資料夾下新增對應的三個庫,獲取Xcode9舊庫(對你有幫助github給個star) ①在RuntimeRoot的lib裡面增加libstdc++.6.0.9.dylib,libstdc++.6.dylib,libstdc++.dylib,路徑如下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/(下文有進入目錄方法)
②在iPhoneOS.sdk的lib裡面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd,libstdc++.tbd,路徑如下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
③在iPhoneSimulator.sdk的lib裡面增加libstdc++.6.0.9.tbd,libstdc++.6.tbd,libstdc++.tbd,路徑如下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
如何進入目錄
訪達-->前往資料夾...-->輸入路徑。(進不了目錄的繼續往下看)
問題中的問題
有沒有小夥伴和我一樣進不去目錄的?把路徑複製上去,進不了,什麼情況?我猜測是不是我Xcode的安裝路徑不一樣導致的?我使用mac系統的時間不是很長,不太瞭解是怎麼回事,後來在網上找到了檢視安裝路徑的方法。活動監視器-->Xcode-->左上角第二個按鈕-->開啟的檔案和埠。對比著把頭替換掉就可以了。(找不到活動監視器的往下看,否則可忽略)
/Users/feiwei/Downloads/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
活動監視器
這個步驟是寫給不怎麼會用mac的小夥伴的,有可能不在「其他」這個歸類裡面,在Launchpad裡面找就行,你一定能找到的。上圖: