Установка Boost в пользовательский каталог - PullRequest
0 голосов
/ 14 февраля 2019

Я пытался следовать учебному пособию 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 голосов
/ 14 февраля 2019

Вы должны использовать свой каталог в обоих шагах:

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
0 голосов
/ 14 февраля 2019

Попробуйте

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

Таким образом, это означает, что сначала загрузите b2, а затем используйте его для сборки и установки boost.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...