C ++ 11和与libstdc ++链接的静态库

时间:2015-08-04 20:58:09

标签: c++ c++11 libstdc++ libc++

我有一个库,它是C和C ++的静态库。 问题是该库与libstdc++链接。

在Xcode中切换到libc++(使用C ++ 11功能并使用上面提到的C ++库)时,会抛出许多编译错误。

图书馆的作者说该库还没有为C ++ 11做好准备。

还有办法同时使用它们吗?

1 个答案:

答案 0 :(得分:0)

您的第3方静态库应该与针对它编译的C ++库的相同版本链接。这不仅包括库的类型(libstdc ++),还包括确保ABI兼容性的主要/次要版本号。任何不同的库版本都会让你在最好的情况下构建中断,或者在最坏的情况下发生奇怪的崩溃。在GCC manual中阅读有关ABI版本控制的更多信息。

如果第3方库的界面只有POD types,您可以从静态库中创建共享库,然后在与libc ++链接的应用程序中使用它。

相关问题