升級Xcode10之后運(yùn)行之前項(xiàng)目報錯解決方案

升級了Xcode10之后,因?yàn)轫?xiàng)目沒有新需求,就去寫其他東西了,一直沒運(yùn)行過以前的項(xiàng)目,昨天朋友問我問題,運(yùn)行了一下以前的項(xiàng)目,發(fā)現(xiàn)不能編譯通過,報錯,網(wǎng)上各種找答案之后解決了,現(xiàn)在把自己遇到的問題整理一下,方便其他遇到相同問題的人。
首先,運(yùn)行項(xiàng)目之后報下面的錯,找不到sdk:


unable to find sdk.jpg

原因說的很清楚了,找不到sdk,在TARGETS -> Build Settings -> Base SDK查看也顯示“iphoneos11.4(SDK not found)”解決方案:把Base SDK 選擇改成 “iOS”,如下圖:
sdk not found solution.jpg
(注意是TARGETS下修改,我之前沒注意,查看的是PROJECT里面的,發(fā)現(xiàn)本來就是選擇的iOS,就一直沒找到)
修改好之后,再運(yùn)行,又報錯,info.plist重復(fù):
Multiple commands produce problem.jpg
解決方案1:

1.Build Phases ->Copy Bundle Resources
2.搜索找到info.plist,刪除它
3.clean一下

解決方案2:Xcode -> File -> Project Settings/Workspace Setting -> Build System -> Legacy Build System
修改Xcode設(shè)置.png
修改Xcode設(shè)置2.png

Xcode9之后,Xcode新增了一個構(gòu)建系統(tǒng)“New Build System”(新構(gòu)建系統(tǒng)),在Xcode10中默認(rèn)使用New Build System,這套編譯會嚴(yán)格解析各個文件的依賴關(guān)系。舊的構(gòu)建系統(tǒng)稱為 legacy build system (傳統(tǒng)構(gòu)建系統(tǒng)),切換成Legacy Build System則是表示使用之前的構(gòu)建系統(tǒng)。

重新運(yùn)行項(xiàng)目,接著報錯,library not found for -lstdc++.6.0.9:

linker command failed.jpg
查看項(xiàng)目里面framwork中發(fā)現(xiàn)libstdc++.6.0.9.tdb變紅
libstdc++.6.0.9.tbd變紅.jpg
蘋果的解釋是libstdc++已經(jīng)標(biāo)記為廢棄有5年了,建議大家使用經(jīng)過了llvm優(yōu)化過并且全面支持C++11的libc++庫。而這次Xcode10中已經(jīng)徹底移除了libstdc++及其相關(guān)庫,如果沒有用到的不用修改,但是目前有的三方庫中會依賴libstdc++,目前臨時的解決辦法是將以前的Xcode中的libstdc++、libstdc++.6、libstdc++6.0.9拷貝到Xcode10中,在網(wǎng)上找到了一份制作好的libstdc++庫,這里給出鏈接(經(jīng)過作者同意后轉(zhuǎn)載,該作者原文章地址:http://www.itdecent.cn/p/6d94278d62b3):下載地址
添加libstdc++庫.jpg
按照下載鏈接中的說明,將庫復(fù)制到相應(yīng)目錄中。再運(yùn)行項(xiàng)目,就可以正常運(yùn)行了。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 用兩張圖告訴你,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 14,009評論 2 59
  • 有一次,在坐地鐵的時候,遇到一個小男孩在鬧脾氣,大概3-4歲左右的樣子,不知道是沒有滿足孩子的什么要求還是受了什么...
    小利利_優(yōu)優(yōu)媽媽閱讀 831評論 0 2
  • 三國期間名將不計(jì)其數(shù),其中能被曹操看作超越孫子的人就這么一個,凡是戰(zhàn)爭沒有《孫子兵法》涉及不到的領(lǐng)域,可見曹操對他...
    秉筆春秋呂書生閱讀 988評論 6 17
  • 前言: 文章開始之前先叨叨點(diǎn)個人情況,本人畢業(yè)于師范院校的英語教育,也獲得了專八,一直從事外貿(mào),翻譯類工作,了解...
    一生兩世閱讀 713評論 0 1

友情鏈接更多精彩內(nèi)容