介紹網址:
http://www.linuxfromscratch.org/blfs/view/cvs/general/boost.html
Introduction to Boost
Boost提供了很多基於C++寫的庫,它包含了 linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions and unit testing等庫。
Boost provides a set of free peer-reviewed portable C++ source libraries. It includes libraries for linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions and unit testing.
This package is known to build and work properly using an LFS-8.0 platform.
Package Information
-
Download (HTTP): http://downloads.sourceforge.net/project/boost/boost/1.63.0/boost_1_63_0.tar.bz2
-
Download MD5 sum: 1c837ecd990bb022d07e7aab32b09847
-
Download size: 78 MB
-
Estimated disk space required: 994 MB (with regression tests)
-
Estimated build time: 1.6 SBU (using -j4; add 2.1 SBU for regression tests)
Boost Dependencies
Recommended
Optional
ICU-58.2, Python-2.7.13 or Python-3.6.0, and Open MPI
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/boost
Installation of Boost(安裝介紹)
First, fix a bug with the header files path, when Python3 is used:
sed -e '/using python/ s@;@: /usr/include/python${PYTHON_VERSION/3*/${PYTHON_VERSION}m} ;@' \ -i bootstrap.sh
Install Boost by running the following commands:
./bootstrap.sh --prefix=/usr && ./b2 stage threading=multi link=shared
To run the Boost.Build's regression test (Python-2.7.13 is required), issue pushd tools/build/test; python test_all.py; popd. All 131 tests should pass.
To run every library's regression tests, issue pushd status; ../b2; popd. A few tests may fail. They take very long (over 120 SBU at -j1, 50 SBU at -j4) and use a very large amount of disk space (up to 40 GB). You can use the -jN
switch to speed them up.
Now, as the root
user:
./b2 install threading=multi link=shared
Command Explanations
threading=multi
:這個參數保證boost安裝基於多線程支持。This parameter ensures that Boost is built with multithreading support.
link=shared
: 這個參數保證只安裝shared庫,忽略靜態庫的安裝,因為大部分的軟件都不需要靜態庫,若需要靜態庫,則不需要加這個參數。This parameter ensures that only shared libraries are created, except for libboost_exception and libboost_test_exec_monitor which are created as static. Most people will not need the static libraries. Indeed most programs using Boost only use the headers. Omit this parameter if you do need static libraries.
-jN
:
設置多線程加速安裝過程。這個安裝和測試過程需要很久,當設置為-j1時120SBU,-j4時50SBU,需要40GB的空間。This switch may be added to the b2 command lines, to run up to N processes in parallel.
--with-python=python3
: Add this switch to the bootstrap command, if you want Boost to use Python3 instead of Python2.
Contents
Last updated on 2017-02-14 18:20:11 -0600