缺少框架为红色,项目仍在构建

时间:2018-12-21 20:21:56

标签: ios xcode frameworks ld libstdc++

我在pod项目中缺少以红色显示的框架。选择“通用iOS设备”时,该项目仍可运行。但是,如果我删除了红色框架,则该项目停止构建,并且Xcode报告“体系结构arm64的未定义符号:”和链接器未找到的符号大列表。我从this SO post获悉,该库已被弃用,从Xcode 10开始不再包含在Xcode中。

enter image description here

我当前正在下载Xcode 9.4.1,以便可以获取旧的库,但是我不清楚为什么当该库为红色时我什至可以成功构建。再次,如果我将其删除,它将无法生成。另外,该项目已经设置为使用libc ++而不是libstdc ++。

想法?

1 个答案:

答案 0 :(得分:1)

解决方案是删除libstdc ++。tbd,然后在Xcode的常规选项卡“链接的框架和库”下,添加libc ++。tbd。另外,在“构建设置”选项卡下,应将C ++标准库设置为libc ++。在我的项目中,C ++标准库已经设置为libc ++。

由于Xcode 10起libstdc ++。tbd不可用,因此以红色显示。我认为现在通过libc ++。tbd链接到标准库的调用。

其他SO帖子讨论了tbd files