2012-09-25 47 views

回答

547

可以使用apt-get命令(需要sudo

sudo apt-get install libboost-all-dev 

或者你也可以叫你需要

aptitude search boost 

發現包和使用apt-get命令安裝它們。

+1

你有什麼過去的經驗與提升? – k53sc

+0

我有升級的編程經驗,但沒有安裝經驗。我從來沒有嘗試過這個,所以我不能說它是否易於使用(但在我看來,包管理器是最簡單的方法)。我應該發表這個建議作爲評論,但我不能評論問題。 –

+0

它的好男人.....我想你的建議...提供任何可能有用的鏈接。 – k53sc

53

使用升壓陣列的例子在Ubuntu安裝升壓:

安裝libboost-所有-dev的和性向

sudo apt-get install libboost-all-dev 

sudo apt-get install aptitude 

aptitude search boost 

然後粘貼到一個C++文件稱爲main.cpp中:

#include <iostream> 
#include <boost/array.hpp> 

using namespace std; 
int main(){ 
    boost::array<int, 4> arr = {{1,2,3,4}}; 
    cout << "hi" << arr[0]; 
    return 0; 
} 

編譯如下:

g++ -o s main.cpp 

運行這樣的:

./s 

程序打印:

hi1 
+3

行「boost :: array arr = {{1,2,3,4}};」,它應該是「boost :: array arr = {1,2,3,4} ;」 – szulak

+5

爲什麼我要運行'aptitude search boost'? – user8385554

112

獲得加速的您需要的版本。這是1.55,但隨時更改或手動下載自己:

wget -O boost_1_55_0.tar.gz https://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download 
tar xzvf boost_1_55_0.tar.gz 
cd boost_1_55_0/ 

獲取所需要的庫,主要的有icuboost::regex支持:

sudo apt-get update 
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev libboost-all-dev 

Boost的引導設置:

./bootstrap.sh --prefix=/usr/ 

然後搭配:

./b2 

,並最終安裝:

sudo ./b2 install 
+1

如果我們使用./bootstrap.sh --prefix =/usr/include,會有什麼區別?我在/ usr/include中有boost庫。我想知道通過這樣做,我可以替換舊的安裝嗎? – Sai

+26

什麼是libboost-all-dev?爲什麼我應該在安裝boost之前安裝boost? – javapowered

+20

''./b2 install'應該作爲最後一步執行 – javapowered

-1

其實客人不願意需要「安裝」或在項目中使用升壓前「編譯」任何東西。您可以將boost庫下載並提取到機器上的任何位置,通常是/ usr/local /。

當您編譯您的代碼時,您可以通過-I指示編譯器在哪裏找到這些庫。例如,g ++ -I/usr/local/boost_1_59_0 xxx.hpp

希望這會有所幫助。

+4

這隻適用於boost的頭文件庫。其餘部分需要使用上述答案中描述的軟件包管理器來構建或安裝。 需要獨立構建和安裝的boost庫如下:atomic,chrono,container,context,coroutine,coroutine2,date_time,exception,filesystem,graph,graph_parallel,iostreams,locale,log,math,mpi,program_options,python ,隨機,正則表達式,序列化,信號,系統,測試,線程,計時器,type_erasure,波。 –

6

獲取您需要的Boost版本。這是1。55但隨時更改或手動下載自己:

wget -O boost_1_55_0.tar.gz http://sourceforge.net/projects/boost/files/boost/1.55.0/boost_1_55_0.tar.gz/download 
tar xzvf boost_1_55_0.tar.gz 
cd boost_1_55_0/

獲取所需要的庫,主要的是重症監護病房的boost ::正則表達式的支持:

sudo apt-get update 
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev build-essential libbz2-dev

Boost的引導設置:

./bootstrap.sh --prefix=/usr/local

如果我們想要MPI,那麼我們需要在user-config.jam文件中設置標誌:

user_configFile=`find $PWD -name user-config.jam` 
echo "using mpi ;" >> $user_configFile

查找物理內核的最大數量:

n=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}'`

並行安裝升壓:

sudo ./b2 --with=all -j $n install

假設你有在/ usr/local/lib目錄設置好的。如果沒有,你可以把它添加到您的LD LIBRARY PATH

sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf'

重置LDCONFIG:

sudo ldconfig
+0

有些東西,如PO編輯2.0需要升壓1.6,目前不可用通過apt-get ,你可以從http://www.boost.org/users/history/version_1_60_0.html得到這個,然後展開它。 按照上面的出色指示,記住LD Library Path與$ PATH –

+0

不一樣請將鏈接更改爲HTTPS;對於二進制下載,HTTP不安全:) –

-1

對於Windows 10 Ubuntu的應用程序:

 
sudo apt-get install libboost-all-dev