Boost:只安装头文件

Boost: Install headers only

本文关键字:文件 安装 Boost      更新时间:2023-10-16

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

为什么你认为你需要使用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的问题。