仅将boost ::单元添加到C ++项目中

时间:2013-03-15 20:33:33

标签: boost boost-units

我有一个开源热力学属性库,用C ++编码,我最终对处理单位感到沮丧。因此,我想在我的核心代码中添加boost::units,以便使用boost::units以零(?)计算开销完成所有单元处理。

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

我想知道:

是否可以仅包含Boost的一小部分?甚至没有下载Boost的其他部分?我知道如果不包含其他Boost模块,它们将不会包含在构建中,但我甚至不需要下载其他模块。

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

2 个答案:

答案 0 :(得分:2)

它是一个仅限标头的库,它依赖于其他Boost库。

快速检查表明您至少需要:

  • 升压::数学
  • 升压:: MPL
  • 升压:: type_traits
  • 升压::序列
  • 升压::配置
  • 升压::效用
  • 升压::拉姆达
  • 升压::版本

此外,这些图书馆可能包括其他人。从版本1.49开始,所有这些库都是标题页。

如果你只是安装Boost而不编译它,你应该能够直接使用头库。安装完成后,如果跨多个平台安装标头的过程繁重,您可以将相关标头传输到SVN。

答案 1 :(得分:0)

我想出了如何做到这一点。以下是Windows的说明,但在其他平台上基本相同。

  1. 下载最新的提升源

  2. cd进入boost sources文件夹

  3. bootstrap

  4. .\b2建造一切,去喝一杯咖啡

  5. http://www.boost.org/doc/libs/1_53_0/doc/html/boost_units/Quick_Start.html复制示例单位代码并保存到sample.cpp

  6. "dist\bin\bcp.exe" --scan sample.cpp boost_units