適配Xcode10與iOS12之libstdc++問題

編譯報錯

image

開開心心的升級完新 macOS辖源,以及新 XCode蔚携,準(zhǔn)備體驗了一把 Dark Mode 編程暗黑模式,快樂的打開自己的項目的時候克饶,發(fā)現(xiàn)編譯不通過了酝蜒。。矾湃。亡脑。。

心里一群草泥馬跑過去邀跃。霉咨。。拍屑。途戒。。

后來調(diào)查了一下發(fā)現(xiàn):

如果你的工程中如果依賴 libstdc++僵驰,無論是你本身的功能用 C++ 跨平臺編寫喷斋,還是你引入了某個 SDK 其內(nèi)部依賴這個 libstdc++,都會導(dǎo)致整個工程編譯不通過裁蚁,報出 Undefined symbols,C++ 的 List 找不到了

原因是蘋果在 XCode10 和 iOS12 中移除了 libstdc++ 這個庫继准,由 libc++ 這個庫取而代之枉证,蘋果的解釋是 libstdc++ 已經(jīng)標(biāo)記為廢棄有5年了,建議大家使用經(jīng)過了 llvm 優(yōu)化過并且全面支持C++11的 libc++ 庫移必。

解決方法

真機編譯

下載文件
libstdc++.6.0.9.tbd.zip 解壓室谚,放到目錄

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/

拷貝過去后,你就可以在新 XCode(黑暗模式666666)下面看到libstdc++了崔泵,放心的添加到工程里吧

模擬器編譯報錯

但是秒赤,執(zhí)行上面操作后,模擬器還是不行
報錯:

image

拷貝libstdc++之后就可以編譯通過了憎瘸,但 App 在模擬器里一運行就崩潰入篮,就會報動態(tài)鏈接庫裝載出錯,看出錯提示說是 .dylib 與這個模擬器不符合幌甘。這是 XCode10 自帶的 iOS12 模擬器的問題潮售,在 XCode10 中安裝 iOS11 的模擬器運行環(huán)境,然后切換到 iOS11 模擬器運行锅风,一切問題沒有酥诽。

這里劃重點哦。皱埠。肮帐。。

如果想在 XCode12 iOS12 模擬器中運行:

  1. libstdc++_sim.zip 解壓边器,放到目錄
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

  1. libstdc++.dylib_sim.zip 解壓训枢,放到目錄
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/

大功告成

這時模擬器真機都可以正常跑起來了,讓我們一起搖擺忘巧。恒界。。袋坑。
但是這種方法只是臨時解決仗处,蘋果官方爸爸是不希望咱們這么干的

正確解決辦法

  • 如果你自己的業(yè)務(wù)模塊使用了 libstdc++ ,那么就把模塊代碼重新調(diào)整為依賴 libc++ 枣宫,然后重新檢查是否存在問題婆誓,重新編譯
  • 如果你引用的三方庫使用了 libstdc++ ,那么向三方庫尋求支持也颤,進(jìn)行升級

libc++

Apple 為什么在 Mavericks 里把 C++ 標(biāo)準(zhǔn)庫從 libstdc++ 改成 libc++洋幻?

其他關(guān)于此問題的討論

Xcode10和iOS12踩坑

或者以下為 拷貝命令 Xcode-beta 為 10 Xcode 為 9

cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/libstdc++.* /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
cp /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/libstdc++.* /Applications/Xcode-beta.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市翅娶,隨后出現(xiàn)的幾起案子文留,更是在濱河造成了極大的恐慌好唯,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件燥翅,死亡現(xiàn)場離奇詭異骑篙,居然都是意外死亡,警方通過查閱死者的電腦和手機森书,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進(jìn)店門靶端,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人凛膏,你說我怎么就攤上這事杨名。” “怎么了猖毫?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵台谍,是天一觀的道長。 經(jīng)常有香客問我吁断,道長趁蕊,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任胯府,我火速辦了婚禮介衔,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘骂因。我一直安慰自己,他們只是感情好赃泡,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布寒波。 她就那樣靜靜地躺著,像睡著了一般升熊。 火紅的嫁衣襯著肌膚如雪俄烁。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天级野,我揣著相機與錄音页屠,去河邊找鬼。 笑死蓖柔,一個胖子當(dāng)著我的面吹牛辰企,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播况鸣,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼牢贸,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了镐捧?” 一聲冷哼從身側(cè)響起潜索,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤臭增,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后竹习,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體誊抛,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年整陌,在試婚紗的時候發(fā)現(xiàn)自己被綠了拗窃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡蔓榄,死狀恐怖并炮,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情甥郑,我是刑警寧澤逃魄,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站澜搅,受9級特大地震影響伍俘,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜勉躺,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一癌瘾、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧饵溅,春花似錦妨退、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至轻掩,卻和暖如春幸乒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背唇牧。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工罕扎, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人丐重。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓腔召,卻偏偏與公主長得像,于是被迫代替她去往敵國和親弥臼。 傳聞我的和親對象是個殘疾皇子宴咧,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

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