Actually you don't need "install" or "compile" anything before using Boost in your project. You can just download and extract the Boost library to any location on your machine, which is usually like /usr/local/
.
When you compile your code, you can just indicate the compiler where to find the libraries by -I
. For example, g++ -I /usr/local/boost_1_59_0 xxx.hpp
.
Get the version of Boost that you require. This is for 1.55 but feel free to change or manually download yourself:
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/
Get the required libraries, main ones are icu
for boost::regex
support:
sudo apt-get update
sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev libboost-all-dev
Boost's bootstrap setup:
./bootstrap.sh --prefix=/usr/
Then build it with:
./b2
and eventually install it:
sudo ./b2 install
Get the version of Boost that you require. This is for 1.55 but feel free to change or manually download yourself (Boost download page):
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/
Get the required libraries, main ones are icu for boost::regex support:
sudo apt-get update sudo apt-get install build-essential g++ python-dev autotools-dev libicu-dev libbz2-dev
Boost's bootstrap setup:
./bootstrap.sh --prefix=/usr/local
If we want MPI then we need to set the flag in the user-config.jam file:
user_configFile=`find $PWD -name user-config.jam` echo "using mpi ;" >> $user_configFile
Find the maximum number of physical cores:
n=`cat /proc/cpuinfo | grep "cpu cores" | uniq | awk '{print $NF}'`
Install boost in parallel:
sudo ./b2 --with=all -j $n install
Assumes you have /usr/local/lib setup already. if not, you can add it to your LD LIBRARY PATH:
sudo sh -c 'echo "/usr/local/lib" >> /etc/ld.so.conf.d/local.conf'
Reset the ldconfig:
sudo ldconfig
An update for Windows 10 Ubuntu Application via Subsystem (also works on standard Ubuntu):
You might have problems finding the package. If you do, never fear! PPA is here!
sudo add-apt-repository ppa:boost-latest/ppa
sudo apt-get update
Then run:
sudo apt-get install libboost-all-dev
Installing Boost on Ubuntu with an example of using boost::array
:
Install libboost-all-dev and aptitude:
sudo apt install libboost-all-dev
sudo apt install aptitude
aptitude search boost
Then paste this into a C++ file called 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;
}
Compile like this:
g++ -o s main.cpp
Run it like this:
./s
Program prints:
hi1
Install libboost-all-dev by entering the following commands in the terminal
Step 1
Update package repositories and get latest package information.
sudo apt update -y
Step 2
Install the packages and dependencies with -y flag .
sudo apt install -y libboost-all-dev
Now that you have your libboost-all-dev installed source: https://linuxtutorial.me/ubuntu/focal/libboost-all-dev/
You can install boost on ubuntu by using the following commands:
sudo apt update
sudo apt install libboost-all-dev
Source: Stackoverflow.com