【问题标题】:Missing framework is red and project still builds缺少的框架是红色的,项目仍在构建
【发布时间】:2019-05-22 06:11:49
【问题描述】:

我在一个 pod 项目中缺少一个以红色显示的框架。选择“通用 iOS 设备”时,该项目仍会为运行而构建。但是,如果我删除红色框架,则项目将停止构建,并且 Xcode 报告“架构 arm64 的未定义符号:”以及链接器未找到的一大串符号。这是我从this SO post 了解到的库,已被弃用,自 Xcode 10 起不再包含在 Xcode 中。

我目前正在下载 Xcode 9.4.1,以便我可以获取旧库,但我不清楚为什么当这个库变红时我什至可以成功构建。如果我再次删除它,它将不会构建。顺便说一句,该项目已经设置为使用 libc++ 而不是 libstdc++。

想法?

【问题讨论】:

    标签: ios xcode frameworks ld libstdc++


    【解决方案1】:

    解决方法是删除 libstdc++.tbd,然后在 Xcode 的常规选项卡 Linked Frameworks and Libraries 下,添加 libc++.tbd。此外,在 Build Settings 选项卡下,C++ 标准库应设置为 libc++。在我的项目中,C++ 标准库已经设置为 libc++。

    从 Xcode 10 开始,libstdc++.tbd 不可用,它以红色显示。我认为对标准库的调用现在通过 libc++.tbd 链接。

    其他 SO 帖子讨论了 tbd files

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-22
      • 2021-09-29
      • 1970-01-01
      • 2011-09-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多