我有一个开源热力学属性库,用C ++编码,我最终对处理单位感到沮丧。因此,我想在我的核心代码中添加boost::units
,以便使用boost::units
以零(?)计算开销完成所有单元处理。
但是我需要我的代码来运行跨平台/交叉编译器(Boost可以做到这一点),理想情况下不需要下载所有Boost,因为它不是一个小包。
我想知道:
是否可以仅包含Boost的一小部分?甚至没有下载Boost的其他部分?我知道如果不包含其他Boost模块,它们将不会包含在构建中,但我甚至不需要下载其他模块。
此外,boost::units
是否需要编译,还是只是标题?
答案 0 :(得分:2)
它是一个仅限标头的库,它依赖于其他Boost库。
快速检查表明您至少需要:
此外,这些图书馆可能包括其他人。从版本1.49开始,所有这些库都是标题页。
如果你只是安装Boost而不编译它,你应该能够直接使用头库。安装完成后,如果跨多个平台安装标头的过程繁重,您可以将相关标头传输到SVN。
答案 1 :(得分:0)
我想出了如何做到这一点。以下是Windows的说明,但在其他平台上基本相同。
下载最新的提升源
cd
进入boost sources文件夹
bootstrap
.\b2
建造一切,去喝一杯咖啡
从http://www.boost.org/doc/libs/1_53_0/doc/html/boost_units/Quick_Start.html复制示例单位代码并保存到sample.cpp
"dist\bin\bcp.exe" --scan sample.cpp boost_units