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

时间:2018-07-26 21:37:40

标签: xcode unity3d vuforia

目前在这里输入链接描述,我正在将Unity嵌入到iOS项目中,并且我即将完成。但是,我的库出现问题。

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

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

这时我应该怎么做才能使所有内容都得到遵守?

谢谢!!!!

1 个答案:

答案 0 :(得分:0)

请勿执行此操作!

为什么?

  1. 取决于所使用的名称处理方案,这甚至可能是不可能的,因为libc++将具有与libstdc++相同的符号
  2. 如果没有符号冲突,当您从一个库中获取对象并将它们与另一个库中的对象/函数混合时,您可能会遇到不确定的行为。
  3. class结构将不兼容。内部类的结构将以不同的方式实现或布局。
  4. libstdc++在iOS 12上不再可用。您的程序将无法在其上运行。
  5. 解决问题的正确方法是下载/编译库的更新版本。期间。