自升级到 xcode 10 beta 6 后我收到错误
ld: library not found for -lstdc++
clang: error: linker command failed with exit code 1 (use -v to see invocation)
我知道 libstdc++
已从 iOS 模拟器中删除,但项目和所有目标都将 C++ Standard Library
设置为 libc++
,不是 libstdc++
。
该项目没有在 Other Linker Flags
中设置任何内容。目标的 Other Links Flags
摘要包括 -stdlib=libstdc++
但是当我双击它进行编辑时,它不在列表中。
libstdc++ 中偷偷摸摸的是什么?任何帮助将不胜感激!
最佳答案
事实证明,问题是我的一个依赖项正在使用 libstdc++
,因此 Cocoapods 将 -stdlib=libstdc++
添加到项目的链接器标志中。
解决方案是将依赖项更新为针对 libc++
构建的较新版本。
如果其他人无法确定哪个依赖项正在使用 libstdc++
,那么我建议从目标的链接器标志中删除 $(inherited)
。这将导致链接器从使用它的地方报告丢失的符号,从而给出哪个库有问题。
关于ios - 为什么我不能摆脱 libstdc++?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52257049/