Как API-интерфейс связан с библиотекой Boost, которую они использовали?Они развернули надстройку - ##. Так с ним, или он был статически связан?
Итак, пожалуйста, запустите "objdump -T api.so | grep boost" в вашем api .so, чтобы проверить, выставляет ли api доступBoost.
Также возможно, что они переименовали пространство имен Boost, как упомянул пользователь chrisaycock.Используйте команду c ++ фильтра, чтобы более подробно рассмотреть символы, которые вы нашли с помощью «objdump -T api.so | grep boost».
Если он был статически связан, а символы повышения не были выставлены (или были переименованы), тогда вы можете использовать boost в своем коде, не касаясь повышения API.
Если boost действительно выставлена, я рекомендую просто попробовать использовать boost.С вашим кодом, использующим boost, возможно, столкновение не произойдет.Если это произойдет, вы можете скомпилировать новый буст и изменить имя пространства имен.Просто запустите скрипт замены всех, заменяя «namespace boost» на что-то вроде «namespace boost_1_46».