2013-03-15 67 views
0

我有一个开源的热力学属性库,它是用C++编写的,我终于因处理单元而感到沮丧。因此,我想将boost :: units添加到我的核心代码中,以便使用boost :: units来执行所有使用零ish(?)计算开销的单元处理。仅将boost :: units添加到C++项目中

但我需要我的代码来运行跨平台/交叉编译器(boost可以做到这一点),理想情况下不需要下载所有的提升,因为它不是一个小包。

所以,我想知道的是:

是否有可能只包括升压的一小部分?甚至没有下载其他部分的提升?我知道如果不包含其他升级模块,它们将不会包含在构建中,但我不想甚至需要下载其他模块。

此外,boost :: units是否需要编译,还是仅用于标题?

+0

这可能是[这个问题](http://stackoverflow.com/questions/2150836/how-的副本to-extract-boost-interprocess-library) – 2013-03-15 21:14:31

回答

2

这是一个只有头文件的库,它依赖于其他的boost库。

快速检测表明,你至少需要:

  • 的boost ::数学
  • 的boost :: MPL
  • 的boost :: type_traits
  • 的boost ::系列化
  • boost :: config
  • boost :: utility
  • boost :: lambda
  • boost ::版本

加上那些库可能包含的其他内容。所有这些库仅在版本1.49中为头。

如果你只是在不编译它的情况下安装boost,你应该可以直接使用头文件库。安装完成后,如果在多个平台上安装标题的过程繁琐,则可以将相关标题转换为svn。

+0

谢谢,我想检查依赖关系的最简单方法就是从包含boost :: units开始,直到编译完成。然后将这些头文件复制到svn中,但这意味着任何更新都不会被拉到我的回购库中。决定,决定... – ibell 2013-03-15 21:29:00

+1

对于其他人来到这里,另见http://stackoverflow.com/questions/2150836/how-to-extract-boost-interprocess-library – ibell 2013-03-15 21:32:57

+0

所以我得到了这个工作,bcp是关键在我的OP中链接到重复问题。我有一个答案(主要是供我参考)以及如何操作的说明。 – ibell 2013-03-23 15:56:49