Sco*_*ott 9 c++ boost multiple-versions
我正在使用一个封闭的源库(由Activ financial提供),其中包括一个boost分配,包括一些boost头文件和boost库文件.
我也在现有的代码库中使用Boost,我需要在现有代码中使用Activ.
有些观点
我担心链接.如何确保我的Activ依赖代码链接到Activ的Boost,而我的其他代码链接到我的Boost?
我现在正在使用g ++,也将在VS2008中使用它.我之前在VS2008工作过,但我不知道一切都是如何联系起来的.我想尝试确保它正确完成.
有没有办法在没有进一步将Activ部分封装在动态库中的情况下执行此操作?
编辑:
首先,我的最终产品总是一个可执行文件.对于两个人,我静静地联系以提升自己.Activ库包括Boost对象库的静态和动态版本,我打算静态链接它.
我从不在使用不同boost版本的代码之间传递Boost对象.
问题是,如何将一个cpp或.o
文件链接到一个库文件中的对象,然后确保其他.o
文件链接到另一个库文件中的相同对象?这可能吗?
该库是否动态或静态链接到 Boost?如果静态链接,库是否公开 DLL 中的符号(declspec 导出)?
如果该库是静态链接的并且符号未公开,并且您没有来回传递任何 Boost 数据结构(smart_ptr、线程等),则您可以安全地在 DLL 中使用您自己版本的 Boost 库。
归档时间: |
|
查看次数: |
457 次 |
最近记录: |