如何在一个项目中为不同的库使用 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
此时我应该怎么做才能使所有内容都合规?
谢谢!!!
不要这样做!
为什么?
- 根据使用的名称修改方案,它甚至可能是不可能的,因为
libc++
将具有与 libstdc++
相同的符号
- 如果没有符号冲突,当您从一个库中取出对象并将它们与另一个库中的 objects/functions 混合时,您可能会 运行 进入未定义的行为。
class
结构将不兼容。内部 class 结构将以不同方式实施或布置。
libstdc++
在 iOS 12 上不再可用。您的程序将不会 运行。
- 解决您的问题的正确方法是 download/compile 更新您的库版本。期间。
在此处输入 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
此时我应该怎么做才能使所有内容都合规?
谢谢!!!
不要这样做!
为什么?
- 根据使用的名称修改方案,它甚至可能是不可能的,因为
libc++
将具有与libstdc++
相同的符号
- 如果没有符号冲突,当您从一个库中取出对象并将它们与另一个库中的 objects/functions 混合时,您可能会 运行 进入未定义的行为。
class
结构将不兼容。内部 class 结构将以不同方式实施或布置。libstdc++
在 iOS 12 上不再可用。您的程序将不会 运行。- 解决您的问题的正确方法是 download/compile 更新您的库版本。期间。