此文章來(lái)源于 開源中國(guó) 冰淚的博客 冰淚_
原文鏈接
報(bào)錯(cuò):library not found for -libstdc++.6.0.9
libstdc++、libstdc++.6、libstdc++6.0.9
OpenCV 靜態(tài)鏈接 libstdc++
無(wú)論是你 C++ 跨平臺(tái)編寫,還是你引入了某個(gè)SDK其內(nèi)部依賴這個(gè)libstdc++,都會(huì)導(dǎo)致整個(gè)工程編譯不通過(guò),報(bào)出Undefined symbols,C++ 的 List 找不到了
目前發(fā)現(xiàn)高德地圖有這個(gè)庫(kù)
原因:
蘋果在XCode10和iOS12中移除了libstdc++這個(gè)庫(kù),由libc++這個(gè)庫(kù)取而代之,
蘋果的解釋是libstdc++已經(jīng)標(biāo)記為廢棄有5年了,建議大家使用經(jīng)過(guò)了llvm優(yōu)化過(guò)并且全面支持C++11的libc++庫(kù)。

臨時(shí)解決辦法
拷貝缺失的 libstdc++、libstdc++.6、libstdc++6.0.9
下載地址連接 鏈接:https://pan.baidu.com/s/19Ko_DRV0Z1W5Tl3y0zYz2g 提取碼: rsya
下載地址 提取碼: rsya
XCode10目前是Beta版,和XCode9正式版可以共存,于是從XCode9的目錄里,把缺失的.tbd文件拷貝過(guò)來(lái),要記得拷貝2套,一套是模擬器的,一套是設(shè)備的,
以下為路徑(注意不同版本的sdk 路徑不同需要自己替換)
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
例如12.0系統(tǒng)運(yùn)行
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.0.sdk/usr/lib/
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
library not found for -lcrypto 問(wèn)題
目前發(fā)現(xiàn) 百度地圖里邊需要導(dǎo)入這個(gè)庫(kù) 并且提供的有可以 自己添加進(jìn)去

還有一種方式就是刪除原來(lái)導(dǎo)入的pod 文件 重新 導(dǎo)入一次并且更新sdk 到最新版本
1. 提示文件重復(fù)
如果 因?yàn)槿綆?kù)里帶了或者重復(fù)創(chuàng)建的文件比如readme.md,LICENCE這類文件,刪除掉或者改個(gè)名字就ok了
還有一種方式修改Xcode設(shè)置(Legacy Build System)
Xcode->File->Project Settings/Workspace Setting-> Build System -> Legacy Build System
注意 改為L(zhǎng)egacy Build System之后發(fā)現(xiàn)launchscreen不顯示圖片了 可以通過(guò)重啟解決


頭文件引入不能自動(dòng)提示引入非當(dāng)前文件夾的頭文件,
改為L(zhǎng)egacy Build System就又能自動(dòng)提示了