为什么我不能摆脱 libstdc++?
Why can't I get rid of libstdc++?
自从升级到 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)
。这将导致链接器从使用它的地方报告丢失的符号,从而泄露出哪个库有问题。
自从升级到 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)
。这将导致链接器从使用它的地方报告丢失的符号,从而泄露出哪个库有问题。