Используйте что-то вроде этого:
./bootstrap.sh --with-toolset=gcc --prefix=/usr/local
./b2 -j12 toolset=gcc variant=release link=shared threading=multi address-model=64 cxxflags=-std=c++11 install
-j12 для параллельной (12 потоков) сборки
используйте -std=c++11
для лучшей совместимости и -std=gnu++11
для расширений gnu (только для gcc)
если boost :: mpi не собран (см. Вывод команды выше) -> отредактируйте user-config.jam
если вы хотите собрать только определенные компоненты:
добавить:
--with-libraries=system,thread,serialization
например
Вот адаптированный скрипт из моего framework от travis (настроить ROOT_PATH
):
BOOST_DOWNLOAD_URL="http://sourceforge.net/projects/boost/files/boost/1.58.0/boost_1_58_0.tar.bz2/download"
BOOST_BUILD=${ROOT_PATH}/boostBuild
mkdir -p ${BOOST_BUILD}
wget --no-verbose --output-document="${ROOT_PATH}/boost.tar.bz2" "$BOOST_DOWNLOAD_URL"
cd ${BOOST_BUILD}
tar jxf "${ROOT_PATH}/boost.tar.bz2" --strip-components=1 -C "${BOOST_BUILD}"
./bootstrap.sh --with-toolset=gcc --with-libraries=system,thread,serialization,filesystem,chrono,atomic,date_time
sudo ./b2 -j12 toolset=gcc threading=multi link=shared release install
, который устанавливается в /usr/local
.