1. 程式人生 > >Linux 下 boost 庫的安裝,配置個人環境變數

Linux 下 boost 庫的安裝,配置個人環境變數

部分引自: https://blog.csdn.net/this_capslock/article/details/47170313

1. 下載boost安裝包並解壓縮
到http://www.boost.org/下載boost的安裝包,以boost_1_58_0.tar.gz為例
下載完成後進行解壓縮:

tar zxvf boost_1_58_0.tar.gz
1
2.設定編譯器和所選庫
先進入解壓縮後的目錄:

cd boost_1_58_0
1
然後執行bootstrap.sh指令碼並設定相關引數:

./bootstrap.sh --with-libraries=all --with-toolset=gcc
1
--with-libraries指定編譯哪些boost庫,all的話就是全部編譯,只想編譯部分庫的話就把庫的名稱寫上,之間用 , 號分隔即可

--with-toolset指定編譯時使用哪種編譯器,Linux下使用gcc即可,如果系統中安裝了多個版本的gcc,在這裡可以指定gcc的版本,比如--with-toolset=gcc-4.4

 

3.編譯boost
執行以下命令開始進行boost的編譯:

./b2 toolset=gcc
1
編譯的時間大概要10多分鐘,耐心等待,結束後會有以下提示:

...failed updating 60 targets...
...skipped 21 targets...
...updated 663 targets...

4.安裝boost
最後執行以下命令開始安裝boost:

./b2 install --prefix=/home/zhangyw/boost/boostlib



5.新增環境變數

vim ~/.bashrc

檔案末尾新增:

# Boost
export BOOST_INCLUDE=/home/zhangyw/boost/boostlib/include/
export BOOST_LIB=/home/zhangyw/boost/boostlib/lib

 

6.boost使用測試

以boost_thread為例,測試剛安裝完的boost庫是否能正確使用,測試程式碼如下:

#include <boost/thread/thread.hpp> //包含boost標頭檔案
#include <iostream>
#include <cstdlib>
using namespace std;

volatile bool isRuning = true;

void func1()
{
static int cnt1 = 0;
while(isRuning)
{
cout << "func1:" << cnt1++ << endl;
sleep(1);
}
}

void func2()
{
static int cnt2 = 0;
while(isRuning)
{
cout << "\tfunc2:" << cnt2++ << endl;
sleep(2);
}
}

int main()
{
boost::thread thread1(&func1);
boost::thread thread2(&func2);

system("read");
isRuning = false;

thread2.join();
thread1.join();
cout << "exit" << endl;
return 0;
}

7.編譯方法

g++ boostTest.cpp -g -o boostTest -lboost_thread