我用的是Ubuntu,我想安装Boost。我试过
sudo apt-get install boost
但是没有这样的包裹。在Ubuntu上安装Boost的最佳方法是什么?
我用的是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。