如何在一个项目中为不同的库使用 libc++ 和 libstdc++

how to use libc++ and libstdc++ for different libraries in one project

在此处输入 link 说明目前我正在 iOS 项目中嵌入 unity,我即将完成它。但是,我的库有问题。

我在我的 iOS 项目中嵌入了 unity+Vuforia,这意味着在构建设置 c++ 标准库时,我必须使用 libc++ 让 Vuforia 和 unity 正常工作。

另一方面,我有一些旧库(libFMDB.a; lingos.a; libproj4.a; libShapekit.a; libSpatialDBKit.a; libspatialite.a; libsqlite3.a) 应该在设置中使用 libstdc++。如果我简单地为我的构建设置设置 libc++,我会得到错误。 ErrorScreenShotImage

此时我应该怎么做才能使所有内容都合规?

谢谢!!!

不要这样做!

为什么?

  1. 根据使用的名称修改方案,它甚至可能是不可能的,因为 libc++ 将具有与 libstdc++
  2. 相同的符号
  3. 如果没有符号冲突,当您从一个库中取出对象并将它们与另一个库中的 objects/functions 混合时,您可能会 运行 进入未定义的行为。
  4. class 结构将不兼容。内部 class 结构将以不同方式实施或布置。
  5. libstdc++ 在 iOS 12 上不再可用。您的程序将不会 运行。
  6. 解决您的问题的正确方法是 download/compile 更新您的库版本。期间。