Есть SDK для IP камеры от китайцев в виде библиотеки (на выбор .a и .so) и заголовочного файла, исходников нет. К этой библиотеке статически слинкована другая библиотека live555. Китайцы через неё тянут поток по rtsp. Всё прекрасно работает.
Но мне в проекте тоже понадобилось использовать live555, но новой версии и собранной с нужными ключами. При попытке собрать это в рамках одного приложения происходит облом. Я пытался по-разному. Либо конфликты при линковке (ругается на __cxx что-то там и таблицы виртуальных функций) либо китайский live555 берёт верх и мой код начинает работать со старой китайской версией. Пробовал использовать -fvisibility=hidden, методы классов перестали торчать, но вот служебная c++ требуха всё ещё торчит.
Вопрос. Как-нибудь можно их изолировать друг от друга в рамках одного адресного пространства? В идеале, чтобы из китайца торчали только нужные мне функции. Хоть внутри там c++, но API у библиотеки сишный. Или это невозможно из-за одинаковых имён символов?