Xcode10 關(guān)于 libstdc++.6.0.9 的兼容問題

原文地址鏈接http://www.reibang.com/p/61083ef4eb84

升級Xcode10 后, 項(xiàng)目編譯時(shí)會報(bào)錯(cuò)如下


1262232-755ca856dc352fc4.png

原因是: 蘋果早在 Xcode 8中 就廢棄了libstdc++, 給了開發(fā)者兩年時(shí)間過渡, 如今在Xcode 10中已不再支持. 在Build Phases > Link Binary With Libraries 中已經(jīng)搜不到libstdc++的庫了

1262232-f6d623d130b08523.png

Xcode 10 更多特性, 可以參閱這里
解決方案
首先要找到具體是哪個(gè)庫使用了libstdc++.我的項(xiàng)目是用cocoapods管理第三方,可以在Pods-xxx.xcconfig中, 看到cocoapods 的編譯選項(xiàng)有l(wèi)ibstdc++6.0.9

手動去掉-l"stdc++.6.0.9"后進(jìn)行編譯, 結(jié)果如下:


1262232-9284c843f3fa0e98.png

可以看到, 問題出在AMapNaviKit這個(gè)第三方庫, 是高德導(dǎo)航庫
解決方法有兩個(gè):

更新第三方:

    • 我的項(xiàng)目中用到的AmapKitNavi 是很早的2.3.0的版本,高德導(dǎo)航庫的最新版本已經(jīng)遷移到了libc++, 故將其更新到最新版本, 即可解決.

由于高德導(dǎo)航庫的前后版本相隔較遠(yuǎn), 更新后需要修改部分代碼, 為了防止因改動代碼而影響原有的邏輯, 我選擇了第二種方法.

但開發(fā)者最好還是用第一種方法,直接更新第三方, 臨時(shí)方案畢竟只能過渡用, 做蘋果開發(fā)還是要跟著蘋果爸爸的屁股后走的.

    1. 拷貝Xcode 9中的libstdc++.6.0.9庫文件到Xcode 10:
    • 要同時(shí)支持真機(jī)和模擬器, 需要將Xcode 9中各平臺的SDK中的libstdc++.6.0.9庫, 分別拷貝到Xcode 10中.注意:libstdc++.6.0.9各不相同, 可以通過大小看出來, 不要弄錯(cuò)了, 具體路徑如下所示

libstdc++.6.0.9文件資源可以在百度網(wǎng)盤獲取, 提取碼:njj8

平臺 文件夾 文件名 文件大小 路徑
模擬器運(yùn)行 CoreSimulator libstdc++.6.0.9.dylib 766,624B /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
模擬器編譯 iPhoneSimulator libstdc++.6.0.9.tbd 206,800B /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
iOS真機(jī) iPhoneOS libstdc++.6.0.9.tbd 209,673B /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
macAPP MacOSX libstdc++.6.0.9.tbd 206,751B /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
注意: 如果不做mac開發(fā), MacOSX可以不用添加. 但要支持模擬器需要CoreSimulator 和 iPhoneSimulator兩個(gè)路徑都添加上, 如果只添加了iPhoneSimulator, 可以編譯通過, 但運(yùn)行時(shí)會崩潰,如下:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末岔霸,一起剝皮案震驚了整個(gè)濱河市慎冤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異盗舰,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)桂躏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評論 3 385
  • 文/潘曉璐 我一進(jìn)店門钻趋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人剂习,你說我怎么就攤上這事蛮位〗匣Γ” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評論 0 348
  • 文/不壞的土叔 我叫張陵失仁,是天一觀的道長尸曼。 經(jīng)常有香客問我,道長萄焦,這世上最難降的妖魔是什么控轿? 我笑而不...
    開封第一講書人閱讀 56,498評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮拂封,結(jié)果婚禮上茬射,老公的妹妹穿的比我還像新娘。我一直安慰自己冒签,他們只是感情好躲株,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著镣衡,像睡著了一般霜定。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上廊鸥,一...
    開封第一講書人閱讀 49,829評論 1 290
  • 那天望浩,我揣著相機(jī)與錄音,去河邊找鬼惰说。 笑死磨德,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的吆视。 我是一名探鬼主播典挑,決...
    沈念sama閱讀 38,979評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼啦吧!你這毒婦竟也來了您觉?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評論 0 266
  • 序言:老撾萬榮一對情侶失蹤授滓,失蹤者是張志新(化名)和其女友劉穎琳水,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體般堆,經(jīng)...
    沈念sama閱讀 44,189評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡在孝,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了淮摔。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片私沮。...
    茶點(diǎn)故事閱讀 38,654評論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖和橙,靈堂內(nèi)的尸體忽然破棺而出仔燕,到底是詐尸還是另有隱情造垛,我是刑警寧澤,帶...
    沈念sama閱讀 34,329評論 4 330
  • 正文 年R本政府宣布涨享,位于F島的核電站筋搏,受9級特大地震影響仆百,放射性物質(zhì)發(fā)生泄漏厕隧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評論 3 313
  • 文/蒙蒙 一俄周、第九天 我趴在偏房一處隱蔽的房頂上張望吁讨。 院中可真熱鬧,春花似錦峦朗、人聲如沸建丧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽翎朱。三九已至,卻和暖如春尺铣,著一層夾襖步出監(jiān)牢的瞬間拴曲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評論 1 266
  • 我被黑心中介騙來泰國打工凛忿, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留澈灼,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評論 2 360
  • 正文 我出身青樓店溢,卻偏偏與公主長得像叁熔,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子床牧,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評論 2 349

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