我正在使用一个封闭的源代码库(由 Activ Financial 提供),其中包括他们的 API 一个 boost 发行版,包括一些 boost 头文件和 boost 库文件。
我还在我现有的代码库中使用 Boost,我需要从我现有的代码中使用 Activ。
几点
- 我可以封装我对 Activ 的使用,以便整个 Activ 部分相当于我编写的一个类,它不暴露任何 Activ 的标头
- 这个单个头文件不使用任何提升任何东西
- 通过这种方式,我可以确保我的代码的 Activ 部分使用 Activ 的 Boost HPP 文件,并且我的代码使用我的 Boost 的 HPP 文件
我担心的是链接。如何确保我的 Activ 相关代码链接到 Activ 的 Boost,而我的其他代码链接到我的 Boost?
我现在正在使用 g++,也将在 VS2008 中这样做。我以前在 VS2008 中工作过,但我不知道一切是如何联系起来的。我想尝试确保它正确完成。
有没有办法在不进一步将 Activ 部分封装在动态库中的情况下做到这一点?
编辑:
一方面,我的最终产品始终是一个可执行文件。对于两个,我静态链接以提升自己。Activ 库包括 Boost 对象库的静态和动态版本,我打算静态链接它。
我从不在使用不同 boost 版本的代码之间传递 Boost 对象。
问题是,如何将一个 cpp 或文件链接到一个.o
库文件中的对象,然后确保其他文件链接到另一个库文件中的相同对象?这可能吗?.o