升级了Xcode10之后,因为项目没有新需求,就去写其他东西了,一直没运行过以前的项目,昨天朋友问我问题,运行了一下以前的项目,发现不能编译通过,报错,网上各种找答案之后解决了,现在把自己遇到的问题整理一下,方便其他遇到相同问题的人。
首先,运行项目之后报下面的错,找不到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
修改好之后,再运行,又报错,info.plist重复:
Multiple commands produce problem.jpg
1.Build Phases ->Copy Bundle Resources
2.搜索找到info.plist,删除它
3.clean一下
修改Xcode设置.png
修改Xcode设置2.png
Xcode9之后,Xcode新增了一个构建系统“New Build System”(新构建系统),在Xcode10中默认使用New Build System,这套编译会严格解析各个文件的依赖关系。旧的构建系统称为 legacy build system (传统构建系统),切换成Legacy Build System则是表示使用之前的构建系统。
重新运行项目,接着报错,library not found for -lstdc++.6.0.9:
linker command failed.jpg
libstdc++.6.0.9.tbd变红.jpg
添加libstdc++库.jpg