天天看點

Linux下編譯安裝BOOST

标簽:

linux平台下要編譯安裝除gcc和gcc-c++之外,還需要兩個開發庫:bzip2-devel 和python-devel,是以在安裝前應該先保證這兩個庫已經安裝:

下載下傳,解壓,按照如下步驟:

進入boost_1_50_0目錄:

然後是編譯安裝,boost源碼包中有配置腳本,直接用就可以:

接下來就是編譯,重點關注是否編譯成功:

然後就是漫長的等待,如果最後出現:

The Boost C++ Libraries were successfully built!           The following directory should be added to compiler include paths:              /home/gang/BAK/boost_1_50_0       The following directory should be added to linker library paths:          /home/gang/BAK/boost_1_50_0/stage/lib

最後,sudo ./b2 install --prefix=/usr/local

1、  boost中大部分庫是不用編譯成動态或者靜态連結庫。

2、  隻有regex,thread等幾個庫比較麻煩一點.要編譯。

3、  如果用gcc編譯器-l指定動态連結庫的路徑,還要指定頭檔案的路徑。

4、  或者連結的boost庫放到.c或.cpp之後,否則連結不能通過,編譯可以通過。

如下所示:g++ -lz -lpthread hh.c -lboost_filesystem -lboost_thread

5,

安裝完畢後的頭檔案預設是在/usr/local/include目錄下,.a和.so在/usr/local/lib目錄下。

然後将需要使用的庫sudo cp至/usr/lib 。不然在執行代碼時,ldd會提示找不到.so檔案。

./main: error while loading shared libraries: libboost_serialization.so.1.52.0: cannot open shared object file: No such file or directory

      本文轉自crazy_charles 51CTO部落格,原文連結:http://blog.51cto.com/douya/1928261http://blog.51cto.com/douya/1928261,如需轉載請自行聯系原作者