編譯報(bào)錯(cuò)
ld: library not found for -lstdc++.6.0.9
報(bào)錯(cuò)原因:Xcode升級(jí)到Xcode10.0后,由于去掉陳舊的libstdc++庫(kù)替換為libc++,libc++相對(duì)是蘋(píng)果最新版的C++庫(kù),經(jīng)過(guò)優(yōu)化并全面支持C++11
到xcode9下將 libstdc++、libstdc++.6、libstdc++6.0.9拷貝到Xcode的如下目錄:
1.真機(jī)環(huán)境:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib/
2.模擬器環(huán)境:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/lib/
之后運(yùn)行報(bào)錯(cuò)
dyld: Library not loaded: /usr/lib/libstdc++.6.dylib
Referenced from: /Users/Aaron/Library/Developer/CoreSimulator/Devices/45300C0A-A60C-4931-A41B-504938E58091/data/Containers/Bundle/Application/8E8315C8-F72B-4BA4-9237-6218EF416F29/MobileOffice_iphone.app/MobileOffice_iphone
Reason: no suitable image found. Did find:
/usr/lib/libstdc++.6.dylib: mach-o, but not built for iOS simulator
這里還需要拷貝舊Xcode中的/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/libstdc++.6.0.9.dylib并改名為libstdc++.6.dylib后粘貼到新Xcode同樣的位置。(注意在/Profiles/Runtimes/iOS.simruntime這里時(shí)需要右鍵顯示包內(nèi)容)。