C++11 и статическая библиотека, связанная с libstdC++

У меня есть библиотека, которая является статической библиотекой для C и C++. Проблема в том, что библиотека связана с libstdc++,

В Xcode, когда я переключаюсь на libc++ (чтобы использовать возможности C++ 11 и использовать упомянутую библиотеку C++) он генерирует много ошибок компиляции.

Авторы библиотеки говорят, что библиотека не готова к C++ 11.

Есть ли еще способ использовать оба?

1 ответ

Ваша сторонняя статическая библиотека должна быть связана с той же версией библиотеки C++, с которой она была скомпилирована. Это включает в себя не только тип библиотеки (libstdC++), но и номера основных / вспомогательных версий для обеспечения совместимости ABI. Любая другая версия библиотеки может привести к разрывам сборки в лучшем случае или странным сбоям в худшем случае. Узнайте больше о версии ABI в руководстве GCC.

Если интерфейс для сторонней библиотеки имеет только POD-типы, вы можете сделать общую библиотеку из вашей статической библиотеки, а затем использовать ее из своего приложения, связанного с libC++.

Другие вопросы по тегам