美文网首页iOS开发知识小集开发环境搭建
更新 Xcode 10 编译遇到的问题

更新 Xcode 10 编译遇到的问题

作者: HowieDev | 来源:发表于2018-09-19 14:58 被阅读1674次

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

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

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

    libfishhook.a 文件未找到

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

    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库中。

    苹果官方文档

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

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

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

    前往文件夹 shift+command+G

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

    lib库中的两个文件

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

    添加libstdc++ 文件

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

    相关文章

      网友评论

      • 57e779d8e176:多谢楼主 问题已解决
      • Hsusue:求助,楼主,我用Xcode自带的改类名功能改完后就报 ``Build input file cannot be found``
        HowieDev:@Hsusue 看报错提示是某些文件未找到,你可以尝试添加未找到的文件,文件有可能是在本地项目目录中。
        Hsusue:回退完再改,居然没报错了。只是有些地方引用没自动改。还好备份直接回退的,真是莫名其妙。
      • 10yuecf:求助,楼主,我依然报错咧
        HowieDev:可否把你的报错信息展示出来
      • 34ab9b9838b1:解决了问题。
      • _水沝淼㵘淼沝水_:赞,谢谢楼主帮助

      本文标题:更新 Xcode 10 编译遇到的问题

      本文链接:https://www.haomeiwen.com/subject/ohnbnftx.html