Linux:編譯安裝boost 1.69庫

Boost庫是爲C++語言標準庫提供擴展的一些C++程序庫的總稱,由Boost社區組織開發、維護。在C++的地位感受能夠和Spring在Java中相比。

boost向來有準標準庫之稱,不少新特性例如智能指針等都是先在boost中實現,後來被吸取到標準庫之中。並且boost實現了日誌、算法、日期、地理、數學、線程協程等各類實用工具,因此若是要學習C++,boost是必需要學習的一個東西。
下面記錄在Linux下編譯安裝boost1.69庫的過程步驟,但願對你們有用。python

測試平臺

Linux版本:Ubuntu 18.04 LTSlinux

Boost版本:1.69.0ios

一、安裝依賴庫文件
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libbz2-dev

[sudo] linuxidc 的密碼:

正在讀取軟件包列表... 完成

正在分析軟件包的依賴關係樹

正在讀取狀態信息... 完成

將會同時安裝下列軟件:

bzip2-doc

下列【新】軟件包將被安裝:

bzip2-doc libbz2-dev

升級了 0 個軟件包,新安裝了 2 個軟件包,要卸載 0 個軟件包,有 218 個軟件包未被升級。

須要下載 324 kB 的歸檔。

解壓縮後會消耗 513 kB 的額外空間。

您但願繼續執行嗎? [Y/n] Y

Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫

#安裝mpi庫
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libicu-dev

正在讀取軟件包列表... 完成
正在分析軟件包的依賴關係樹      
正在讀取狀態信息... 完成      
將會同時安裝下列軟件:
  gir1.2-harfbuzz-0.0 icu-devtools libglib2.0-dev libglib2.0-dev-bin
  libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libicu-le-hb-dev
  libicu-le-hb0 libiculx60 libpcre16-3 libpcre3-dev libpcre32-3 libpcrecpp0v5
建議安裝:
  libglib2.0-doc libgraphite2-utils icu-doc
下列【新】軟件包將被安裝:
  gir1.2-harfbuzz-0.0 icu-devtools libglib2.0-dev libglib2.0-dev-bin
  libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libicu-dev
  libicu-le-hb-dev libicu-le-hb0 libiculx60 libpcre16-3 libpcre3-dev
  libpcre32-3 libpcrecpp0v5
升級了 0 個軟件包,新安裝了 15 個軟件包,要卸載 0 個軟件包,有 218 個軟件包未被升級。
須要下載 11.8 MB 的歸檔。
解壓縮後會消耗 57.4 MB 的額外空間。
您但願繼續執行嗎? [Y/n] Y

Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫

#支持正則表達式的UNICODE字符集 
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install Python-dev
#須要python的話
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install libbz2-dev
二、下載安裝包
https://sourceforge.net/projects/boost/files/boost/1.69.0/

此處我下載的是 boost1.69,0
解壓縮到一個目錄正則表達式

三、cd 到該目錄

裏面有個bootstrap.sh的腳本文件,運行這個腳本
運行腳本:算法

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./bootstrap.sh
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Detecting Python version... 2.7
Detecting Python root... /usr
Unicode/ICU support for Boost.Regex?... /usr
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

    ./b2
    
To adjust configuration, edit 'project-config.jam'.
Further information:

  - Command line help:
    ./b2 --help
    
  - Getting started guide:

Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫
根據上圖提示,進行編譯操做。bootstrap

四、開始編譯 boost
編譯要一點時間,出去跳跳繩吧,打打拳擊吧,輸入命令:
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./b2
Performing configuration checks

    - default address-model    : 64-bit
    - default architecture    : x86

Building the Boost C++ Libraries.


    - C++11 mutex              : yes
    - lockfree boost::atomic_flag : yes
    - Boost.Config Feature Check: cxx11_auto_declarations : yes
    - Boost.Config Feature Check: cxx11_constexpr : yes
    - Boost.Config Feature Check: cxx11_defaulted_functions : yes
    - Boost.Config Feature Check: cxx11_final : yes
    - Boost.Config Feature Check: cxx11_hdr_mutex : yes
    - Boost.Config Feature Check: cxx11_hdr_tuple : yes
    - Boost.Config Feature Check: cxx11_lambdas : yes

Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫
編譯成功後的截圖以下:
Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫app

五、開始安裝
將boost庫相關文件安裝至/usr/local。輸入命令:
sudo ./b2 --prefix=/usr/local/boost install

Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫
安裝好以後截圖:
Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫編輯器

將boost庫添加至環境變量。輸入命令:
gedit /etc/environment
向文件中增長以下路徑:
CPLUS_INCLUDE_PATH=/usr/local/boost/include
LIBRARY_PATH=/usr/local/boost/lib

添加完成後,進行保存操做。ide

六、測試案例

(1)代碼編寫。輸入命令:工具

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ gedit linuxidc.com.Boost.cpp

打開編輯器,輸入如下代碼並保存:

#include <boost/date_time/gregorian/gregorian.hpp>
#include <iostream> 
using namespace std;
int main() 
{ 
    boost::gregorian::date d(boost::gregorian::day_clock::local_day());
    cout << d.year()<<"." << d.month()<<"." <<d.day() <<endl; 
    getchar();
    return 0;
}

(2)代碼 編譯。輸入命令:

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ g++ -I /usr/local/boost/include -L /usr/local/boost/lib linuxidc.com.Boost.cpp -o linuxidc.com

(3)執行程序。輸入命令:

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -/boost_1_69_0$ ./linuxidc.com
2019.Mar.20

截圖以下
Linux:編譯安裝boost 1.69庫Linux:編譯安裝boost 1.69庫 OK,搞定。

相關文章
相關標籤/搜索