将Boost安装到自定义目录

时间:2019-02-13 22:55:57

标签: c++ boost

我尝试遵循the tutorial Boost提供了有关安装Boost的文档,并在这里查看了一些其他问题来尝试确定为什么我无法在自定义位置安装Boost。也许我误会了,但是应该使用--prefix选项指定Boost头文件和库文件的存放位置,然后bootstrapper.sh创建一个.jam文件,该文件在b2时使用或运行bjam

当我发出以下命令时

 ./bootstrap.sh --prefix="$HOME/dev/emulator/src/boost" --includedir=headers --libdir=dist --with-libraries=date_time

我看到正确的行已添加到生成的project-config.jam文件中

option.set prefix : /home/liam/dev/emulator/src/boost ;
option.set exec-prefix : /home/liam/dev/emulator/src/boost ;
option.set libdir : dist ;
option.set includedir : headers ;

但是,当我按照文档说明运行./b2时,它将Boost库安装到源文件夹中;即

The following directory should be added to compiler include paths:

    /home/liam/Downloads/brave/boost_1_66_0

The following directory should be added to linker library paths:

    /home/liam/Downloads/brave/boost_1_66_0/stage/lib

运行./b2 install也不会将文件输出到预期的目录。

2 个答案:

答案 0 :(得分:1)

您需要在两个步骤中使用目录:

DST_DIR=${HOME}/dev/emulator/src/boost

./bootstrap.sh --prefix=${DST_DIR} --includedir=headers --libdir=dist --with-libraries=date_time
./b2 --prefix=${DST_DIR} install

答案 1 :(得分:0)

尝试

./bootstrap.sh --prefix=path/to/installation/prefix
./b2 install

因此,这意味着首先引导b2,然后使用它来构建和安装boost。