iOS 开发者升级到Xcode10后使用Fengmap iOS SDK报错,原因是iOS SDK 底层采用了libstdc++依赖库,苹果在Xcode10 中删除了libstdc++,并建议使用这个库的开发者将程序迁移到libc++。因为libc++为了LLVM而重新编写,包含了C++11标准库,并做了优化处理。libstdc++是GNU标准库,已经在iOS 12中被删除。以下为苹果员工回复
解决办法
将Xcode 9
真机: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/include/c++
模拟器:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator.sdk/usr/include/c++
该目录文件拷贝到Xcode10对应include路径下,Xcode10 缺少该文件夹。
库文件未找到错误
错误如下:
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
解决方案:
将Xcdoe 9对应的库文件拷贝到Xcode10对应目录下,具体路径可参考该博客。