Я использую библиотеку с закрытым исходным кодом (от Activ financial), которая включает в себя вместе с их API расширение boost, как некоторые файлы заголовков boost, так и файлы библиотеки boost.
Я также использовать Boost в моей существующей кодовой базе, и мне нужно использовать Activ из моего существующего кода.
Некоторые моменты
Мое беспокойство входит в линковку. Как я могу гарантировать, что мой зависимый код Activ связан с Activ Boost, а другой мой код - с моим Boost?
Я использую g ++ сейчас, также буду делать это в VS2008. Раньше у меня это работало в VS2008, но я понятия не имею, как все связано. Я хочу убедиться, что это сделано правильно.
Есть ли способ сделать это без дальнейшей инкапсуляции части Activ в динамическую библиотеку?
Изменить:
Во-первых, мой конечный продукт всегда является исполняемым файлом. Во-вторых, я статически связываюсь, чтобы повысить себя. Библиотека Activ включает как статические, так и динамические версии библиотек объектов Boost, и планирую статически связать.
Я никогда не передаю объекты Boost между кодом, который использует разные версии повышения.
Вопрос в том, как связать один файл cpp или .o
с объектами в одной библиотеке файл, а затем убедитесь, что другие файлы .o
связаны с идентичными объектами в другом файле библиотеки ? Возможно ли это?