一. PC編譯安裝boosthtml
boost是C++的準標準庫,其有兩種安裝方法。linux
1. ubuntu下,經過sudo apt-get install libboost-all-dev。ios
2. 經過源碼包安裝,http://sourceforge.net/projects/boost/files/latest/download?source=dlpc++
下載源碼包:boost_1_57_0.tar.bz2bootstrap
1)解壓後,進入目錄,配置編譯環境ubuntu
./bootstrap.sh小程序
注:boost下頭文件在目錄boost下。ui
2) 編譯spa
./b2.net
編譯完成後,stage下是生成的庫文件。
3) 安裝到主機上
sudo ./b2 install
默認安裝頭文件/usr/local/include/boost目錄下,庫文件在/usr/local/lib目錄下。
二. ARM交叉編譯boost
1)解壓後,進入目錄,配置編譯環境,同PC。
./bootstrap.sh
注:boost下頭文件在目錄boost下。
2) 編譯
編譯前需配置交叉編譯器,
if ! gcc in [ feature.values <toolset> ] { #關鍵是如下這句的修改 using gcc : arm : arm-linux-g++ ; #另外生成目錄或者放置編譯結果的目錄請自行另做選擇 }
./b2
編譯完成後,stage下是生成的庫文件。
gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/token_ids.o gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/wave_config_constant.o common.mkdir bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer common.mkdir bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex/aq.o gcc.compile.c++ bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/cpplexer/re2clex/cpp_re.o gcc.archive bin.v2/libs/wave/build/gcc-arm/release/link-static/threading-multi/libboost_wave.a common.copy stage/lib/libboost_wave.a ...failed updating 60 targets... ...skipped 21 targets... ...updated 975 targets...
通常狀況下,有些庫編譯不成功,編譯完成的庫都在stage/lib下。
3) 安裝到主機上
建立目錄/usr/arm,/usr/arm/include,/usr/arm/lib;將boost/這個目錄拷貝至/usr/arm/include下,將stage/lib下的庫文件拷貝至/usr/arm/lib下。
默認安裝頭文件/usr/local/include/boost目錄下,庫文件在/usr/local/lib目錄下。
三. 編譯個小程序驗證下是否成功。
#cat test.cpp #include <boost/lexical_cast.hpp> #include <iostream> int main() { using boost::lexical_cast; int a= lexical_cast<int>("123456"); double b = lexical_cast<double>("123.456"); std::cout << a << std::endl; std::cout << b << std::endl; return 0; }
g++ -o test test.cpp #ls test test.cpp # ./test 123456 123.456
參考:
http://www.xitongzhijia.net/xtjc/20150407/44268.html
http://blog.csdn.net/jwybobo2007/article/details/7242307
http://blog.csdn.net/jwybobo2007/article/details/8850008