问题描述
我在Ubuntu上,并且想安装Boost。我尝试过
sudo apt-get install boost
但是没有这样的软件包。在Ubuntu上安装Boost的最佳方法是什么?
最佳方法
您可以使用apt-get
命令(需要sudo
)
sudo apt-get update
sudo apt-get install libboost-all-dev
或者你可以先查找一下
sudo apt search boost
安转好之后,默认安装目录在 /usr/include/boost
查找所需的软件包,然后使用apt-get
命令进行安装。
次佳方法
获取所需的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 build-essential libbz2-dev libboost-all-dev
Boost的引导程序设置:
./bootstrap.sh --prefix=/usr/
然后用:
./b2
并最终安装它:
sudo ./b2 install
第三种方法
通过使用boost::array
的示例在Ubuntu上安装Boost:
安装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版本。这是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以获取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`
echo "using mpi ;" >> $user_configFile
查找最大物理核数:
n=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}'`
并行安装boost:
sudo ./b2 --with=all -j $n install
假设您已经设置了/usr /local /lib。如果没有,您可以将其添加到LD库路径:
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf'
重置ldconfig:
sudo ldconfig
第五种方法
通过子系统的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问答整理, 博文地址: https://ubuntuqa.com/article/7900.html,未经允许,请勿转载。