为什么我不能摆脱libstdc ++?

问题描述 投票:1回答:1

自从升级到xcode 10 beta 6后,我收到了错误消息

ld:找不到-lstdc ++的库 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

我知道libstdc++已经从iOS模拟器中删除了,但项目和所有目标都将C++ Standard Library设置为libc++,而不是libstdc++

该项目在Other Linker Flags没有任何设置。目标的Other Links Flags摘要包括-stdlib=libstdc++

Summary of Other Linker Flags for target

但是当我双击它来编辑它时,它不在列表中。

Expanded Other Links Flags for target

什么是偷偷摸摸的libstdc ++?任何帮助将不胜感激!

ios xcode linker xcode10
1个回答
1
投票

原来问题是我的一个依赖项是使用libstdc++,所以Cocoapods将-stdlib=libstdc++添加到项目的链接器标志中。

解决方案是将依赖项更新为针对libc++构建的较新版本。

如果其他人无法识别使用libstdc++的依赖项,那么我建议从目标的链接器标志中删除$(inherited)。这将导致链接器报告正在使用它的地方丢失的符号,从而消除哪个库存在问题。

© www.soinside.com 2019 - 2024. All rights reserved.