安裝了xcode10之后椒拗,運行之前的項目,報錯:
ld: library not found for -lstdc++.6.0.9
clang: error: linker command failed with exit code 1 (use -v to see invocation)
這個錯誤原因是因為iOS12.0中去掉了lstdc++.6.0.9.tbd動態(tài)庫.
iOS12.0中全部采用libc++代替lstdc++的動態(tài)庫
clang問題記:libc++和libstdc++
思路: 因為beta版本Xcode是無法打包上傳appstore在验,所以肯定還是需要Xcode9.4+Xcode10并行使用堵未,而且現(xiàn)在部分第三方SDK依舊要依賴于lstdc++.6.0.9.tbd動態(tài)庫腋舌,如果對代碼進行改動或者修改Xcode的配置渗蟹,可能會造成其他問題赞辩,例如在Xcode9.4上再次運行的時候可能會出現(xiàn)報錯等等授艰。
所以最簡單解決該問題的方法就是從Xcode9.4中找到動態(tài)庫lstdc++.6.0.9.tbd文件copy到Xcode10beta下就可以完美解決問題≌倥樱或者用古老的辦法將iOS12的DeviceSupport文件copy到Xcode9.4下也可以完美解決Xcode9.4運行iOS12的問題来破。
正式版Xcode10運行l(wèi)ibstdc++報錯處理
需要將文件復(fù)制到下述四個路徑下篮灼,才能保證模擬器和真機均好用
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/lib/
/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/
為了方便大家诅诱,在此提供lstdc++動態(tài)庫文件下載和DeviceSupport下載 鏈接:
DeviceSupport:iOS 7.0 - iOS 12 beta1 所有版本
libstdc(按照文件順序1送朱、2、3驶沼、4)