寫在前面
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
方法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里面找就行,你一定能找到的。上圖: