我用的是Ubuntu,我想安装Boost。我试过

sudo apt-get install boost

但是没有这样的包裹。在Ubuntu上安装Boost的最佳方法是什么?


当前回答

实际上,在项目中使用Boost之前,你不需要“安装”或“编译”任何东西。您可以下载并将Boost库解压到您机器上的任何位置,通常类似于/usr/local/。

在编译代码时,可以通过-I指示编译器在哪里找到库。例如:g++ -I /usr/local/boost_1_59_0 xxx.hpp。

其他回答

首先试试以下方法:

$ sudo apt-get install libboost*

你可能会得到一个类似于下面的错误消息,就像我做的那样:

E: Unable to correct problems, you have held broken packages.

然后尝试安装下面的包:

$ sudo apt-get install libboost-all-dev

现在你可以使用Boost创建一个示例项目:

$ mkdir boost
$ cd boost/
$ cat > main.cpp &

获取所需的Boost版本。这是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/

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

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

Boost的引导设置:

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

然后用:

./b2

并最终安装:

sudo ./b2 install

Windows 10 Ubuntu应用程序通过子系统的更新(也适用于标准Ubuntu):

你可能找不到包裹。如果你这样做了,不要害怕!PPA在这里!

sudo add-apt-repository ppa:boost-latest/ppa
sudo apt-get update

然后运行:

sudo apt-get install libboost-all-dev

在Ubuntu上安装Boost,并以Boost::array为例:

安装libboost-all-dev和aptitude:

sudo apt install libboost-all-dev

sudo apt 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++ -o s main.cpp

像这样运行它:

./s

项目输出:

hi1

实际上,在项目中使用Boost之前,你不需要“安装”或“编译”任何东西。您可以下载并将Boost库解压到您机器上的任何位置,通常类似于/usr/local/。

在编译代码时,可以通过-I指示编译器在哪里找到库。例如:g++ -I /usr/local/boost_1_59_0 xxx.hpp。