找到链接到 stdc++ 的依赖项

Find the dependency that links against stdc++

我正在处理一个具有约 50 个依赖项的 iOS 项目。几乎所有这些都是用 cocoapods 管理的。有些是开源代码,有些是动态框架,有些是静态框架。

在这个项目中,我想利用 iOS 12 中的新 API,因此我必须使用 Xcode 10。

我的问题是,似乎至少有 1 个依赖项使用了 Apple 在 Xcode 10 中删除的 libstdc++(参见 and there),导致我在尝试时出现以下错误建立: ld: library not found for -lstdc++.6

我发现我的 Pods 项目实际上链接到 libstdc++,因为它的 xconfig 文件包含 OTHER_LDFLAGS = $(inherited) -ObjC (...) -l"stdc++.6" (...) 但我查看了每个 pod 的项目,它们都使用 libc++ 而不是 libstdc++,并且 none 在它们的 xconfig 文件中链接到 libstdc++

那么 lidstdc++ 是从哪里来的呢?

我最终阅读了每个 pod 的 podspec 文件,并最终找到了使用 lidstdc++.6 的文件