在ios Xcode10下小白都能解決library not found for -libstdc++.6.0.9


寫在前面

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



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM