1.gcc版本>3.2html
2.Yum 的 boost 和boost-python文件很小,好像不行。因此編譯安裝。python
3.boost庫分爲三種:無需編譯;單獨編譯;部分編譯。python須要單獨編譯。ios
4.使用無需編譯庫的一個例子:c++
include <boost/lambda/lambda.hpp> #include <iostream> #include <iterator> #include <algorithm> int main() { using namespace boost::lambda; typedef std::istream_iterator<int> in; std::for_each( in(std::cin), in(), std::cout << (_1 * 3) << " " ); }
Copy the text of this program into a file called example.cpp. Now, in the directory where you saved example.cpp, issue the following command:bootstrap
c++ -I path/to/boost_1_54_0 example.cpp -o example
To test the result, type:多線程
echo 1 2 3 | ./example
5.編譯中有warning沒有關係,但不能有error.測試
6.安裝單獨編譯子庫。注意,工做目錄。工做目錄決定了b2 install的安裝內容。ui
$ cd path/to/boost_1_54_0 $ ./bootstrap.sh --help 查看配置選項
7.安裝定製庫this
試運行一個例子,會產生可執行代碼。Copy
to a different directory, then change to that directory and run:spaPREFIX
/share/boost-build/examples/hello
PREFIX
/bin/b2PREFIX
b2 --build-dir=build-directorytoolset=toolset-name stage 好比:
$ cd ~/boost_1_54_0 $ b2 --build-dir=/tmp/build-boost toolset=gcc stage :會產生一個靜態共享非調試多線程的boost庫。若是想要產生全部類型的boost庫,使用built-type=complete。 statge目標會將庫二進制文件放在stage/lib中,能夠使用stage-dir=...指定。查看幫助 b2 --help.爲了限制時間能夠:
8.一個用Link例子。
9.編譯好的庫的命名規則。xxx.a xxx.so.
10.若是你的程序Link到了一個庫,那麼運行的時候,須要設定好環境變量,以便可以在運行時找到動態庫。LD_LIBRARY_PATH。
$ VARIABLE_NAME=path/to/lib/directory:${VARIABLE_NAME} $ export VARIABLE_NAME