更新 Xcode 10 编译遇到的问题

用Xcode 10 编译老旧项目遇到的两个问题如下:

一、WebSocket / libfishhook.a 链接文件未找到

error:Build input file cannot be found:‘/Users/.../Libraries/WebSocket/libfishhook.a’

更新 Xcode 10 编译遇到的问题_第1张图片
libfishhook.a 文件未找到

通常编译报 Build input file cannot be found错误,说明该文件存放位置有问题,只需要移除之后,重新添加一下文件就可以编译通过。如下:

更新 Xcode 10 编译遇到的问题_第2张图片
libfishhook.a 文件位置

二、library not found for -lstdc++.6.0.9 库未找到

ld:  library not found for -lstdc++.6.0.9

clang: error :linker command failed with exit code 1 (use -v to see invocation)

1、Xcode 10 中移除了 “-libstdc++.6.0.9” 库,需要在旧版Xcode 9 中查找到“-lstdc++.6.0.9”库之后,复制一份放入Xcode 10 lib库中。

更新 Xcode 10 编译遇到的问题_第3张图片
苹果官方文档

      可以在我的 GitHub下载缺失的库文件,也可以在旧版Xcode 9 中查找,路径如下:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/usr/lib

      使用快捷键打开:command + shift + G 前往文件夹

更新 Xcode 10 编译遇到的问题_第4张图片
前往文件夹
更新 Xcode 10 编译遇到的问题_第5张图片
shift+command+G

2、找到这两个文件,复制到Xcode 10 lib库文件相同的位置,

更新 Xcode 10 编译遇到的问题_第6张图片
lib库中的两个文件

3、如果用真机和者模拟器编译运行,请在iPhoneOS.platform(真机)和iPhoneSimulator.platform(模拟器)两个文件下的lib文件夹分别添加libstdc++6.0.9tbd和libstdc++.6.tbd两个文件。

更新 Xcode 10 编译遇到的问题_第7张图片
添加libstdc++ 文件

4、清除一下(shift+command+K)缓存,重新编译(command + B)一下即可。

你可能感兴趣的:(更新 Xcode 10 编译遇到的问题)