如何在Ubuntu上安装boost?

我在Ubuntu上,我想安装Boost。 我试着用

sudo apt-get install boost 

但是没有这样的套餐。 什么是在Ubuntu上安装boost的最佳方式?

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

 sudo apt-get install libboost-all-dev 

或者你可以打电话

 aptitude search boost 

find你需要的软件包并使用apt-get命令安装它们。

获取所需的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/ 

获取所需的库,主要的是icu for boost::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/ 

然后build立它:

 ./b2 

并最终安装它:

 sudo ./b2 install 

使用boostarrays的例子在Ubuntu上安装Boost:

安装libboost-all-dev和aptitude

 sudo apt-get install libboost-all-dev sudo apt-get install aptitude aptitude search boost 

然后将其粘贴到名为main.cpp的C ++文件中:

 #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++ -os main.cpp 

像这样运行它:

 ./s 

程序打印:

 hi1 

获取所需的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 / 

获取所需的库,主要的是icu for boost :: regex支持:

  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`
回声“使用mpi;”  >> $ user_config文件 

查找物理内核的最大数量:

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

并行安装提升:

  sudo ./b2 --with =全部-j $ n安装 

假定您已经设置了/ usr / local / lib 。 如果没有,可以将其添加到LD库path中

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

重置ldconfig:

  sudo ldconfig 

事实上,在项目中使用boost之前,您不需要“安装”或“编译”任何东西。 您可以下载并提取boost库到机器上的任何位置,通常是/ usr / local /。

当你编译你的代码时,你可以通过-I指出编译器在哪里find库。 例如,g ++ -I / usr / local / boost_1_59_0 xxx.hpp

希望这可以帮助。