提升:仅安装标头

时间:2015-08-24 18:00:54

标签: c++ windows boost

如何以平台无关的方式将所有boost标头输出到包含boost版本的路径,而不编译任何内容或安装任何已编译的库?

1 个答案:

答案 0 :(得分:4)

为什么您认为需要使用b2来执行此操作?

如果您不想构建任何内容而只想复制标题,则只需复制标题:

mkdir inc_dir
cp -R ./boost ./inc_dir/

如果您想要inc_dir/boost-1.59.0中的标题,请改为:

mkdir inc_dir/boost-1.59.0
cp -R ./boost ./inc_dir/boost-1.59.0/

如果您不想自己命名该目录,请从boost/version.hpp标题中获取该目录:

ver=`awk '/define.*BOOST_LIB_VERSION/ {print $3}' boost/version.hpp | sed 's/"//g'`
mkdir inc_dir/boost_${ver}_0/
cp -R ./boost ./inc_dir/boost_${ver}_0/

但现在这似乎是一个相当愚蠢的请求......你真的需要经常这样做,提取版本需要自动化吗?你安装了多少个版本的Boost,你不会从boost_1_59_0.tar.bz2这样的tarball开始,这意味着你还需要知道版本?我曾经在以前的工作中跨多个操作系统安装多个版本的Boost,并且在启动过程时从未遇到过不知道我正在使用哪个版本的Boost的问题。

相关问题