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