仅向C+;中添加boost::units+;项目 我有一个开源的热力学属性库,所有的代码都是用C++编写的,我最终对处理单元感到失望。因此,我想将boost::units添加到我的核心代码中,以便使用boost::units以零计算开销完成所有单元处理

仅向C+;中添加boost::units+;项目 我有一个开源的热力学属性库,所有的代码都是用C++编写的,我最终对处理单元感到失望。因此,我想将boost::units添加到我的核心代码中,以便使用boost::units以零计算开销完成所有单元处理,boost,boost-units,Boost,Boost Units,但我需要我的代码来运行跨平台/跨编译器(Boost可以做到这一点),理想情况下不需要下载所有Boost,因为它并不是一个很小的包 我想知道: 是否可能只包含一小部分Boost?甚至不下载Boost的其他部分?我知道如果其他Boost模块没有包括在内,它们将不会包括在构建中,但我甚至不想下载其他模块 另外,boost::units是否需要编译,或者它是只头库?它是只头库,并且它确实依赖于其他boost库 快速检查表明您至少需要: 数学 boost::mpl boost::type_traits

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

我想知道:

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


另外,
boost::units
是否需要编译,或者它是只头库?

它是只头库,并且它确实依赖于其他boost库

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

  • 数学
  • boost::mpl
  • boost::type_traits
  • boost::序列化
  • boost::config
  • boost::实用程序
  • boost::lambda
  • boost::版本
加上这些库可能包含的其他内容。从1.49版开始,所有这些库都是仅标题库


如果只安装Boost而不进行编译,则应该能够直接使用头库。一旦安装,如果跨多个平台安装头的过程非常繁重,您可以将相关头传输到SVN中。

我找到了方法。以下是Windows的说明,但在其他平台上基本相同

  • 下载最新的boost源代码

  • cd
    放入boost sources文件夹

  • bootstrap

  • \b2
    要构建一切,去喝杯咖啡

  • 将示例单位代码从复制并保存到
    sample.cpp

  • “dist\bin\bcp.exe”--扫描sample.cpp boost\u单元


  • 这可能是重复的感谢,我想检查依赖关系最简单的方法就是从包含boost::units开始,然后添加一些东西,直到编译完成。然后将这些标题检查回svn,但这意味着任何更新都不会被拉入我的回购协议。决策,决策…对于其他到达这里的人,也请参见,因此我让这项工作开始,bcp是关键,因为在我的OP中的重复问题的链接中。我有一个答案(主要是供我参考)以及如何做的说明。