1. 程式人生 > >Linux編譯和安裝boost庫

Linux編譯和安裝boost庫

1. 下載boost安裝包並解壓縮

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

tar zxvf boost_1_58_0.tar.gz

2.設定編譯器和所選庫

先進入解壓縮後的目錄:

cd boost_1_58_0

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

./bootstrap.sh --with-libraries=all --with-toolset=gcc

--with-libraries指定編譯哪些boost庫,all的話就是全部編譯,只想編譯部分庫的話就把庫的名稱寫上,之間用 , 號分隔即可,可指定的庫有以下幾種:

庫名 說明
atomic
chrono
context
coroutine
date_time
exception
filesystem
graph 圖元件和演算法
graph_parallel
iostreams
locale
log
math
mpi 用模板實現的超程式設計框架
program_options
python 把C++類和函式對映到Python之中
random
regex 正則表示式庫
serialization
signals
system
test
thread 可移植的C++多執行緒庫
timer
wave

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

命令執行完成後看到顯示如下即為成功:

Building Boost.Build engine with
toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2 Detecting Python version... 2.6 Detecting Python root... /usr Unicode/ICU support for Boost.Regex?... not found. 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: http://www.boost.org/more/getting_started/unix-variants.html - Boost.Build documentation: http://www.boost.org/build/doc/html/index.html

3.編譯boost

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

./b2 toolset=gcc

編譯的時間大概要10多分鐘,耐心等待,結束後會有以下提示:

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

4.安裝boost

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

./b2 install --prefix=/usr

--prefix=/usr用來指定boost的安裝目錄,不加此引數的話預設的標頭檔案在/usr/local/include/boost目錄下,庫檔案在/usr/local/lib/目錄下。這裡把安裝目錄指定為--prefix=/usr則boost會直接安裝到系統標頭檔案目錄和庫檔案目錄下,可以省略配置環境變數。

安裝完畢後會有以下提示:

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

最後需要注意,如果安裝後想馬上使用boost庫進行編譯,還需要執行一下這個命令:

ldconfig

更新一下系統的動態連結庫

5.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;
}

在編譯程式時,需要加入對boost_thread庫的引用:

g++ main.cpp -g -o main -lboost_thread

如果boost庫的安裝位置不是在系統目錄下,則還需要在編譯時加上-I和-L指定boost標頭檔案和庫檔案的位置

編譯成功後執行程式,利用boost實現的多執行緒任務正確執行:

func1:  func2:00

func1:1
        func2:1
func1:2
func1:3
        func2:2
func1:4
func1:5
        func2:3
func1:6
func1:7
        func2:4
func1:8
func1:9
        func2:5
func1:10
func1:11
        func2:6
func1:12
func1:13
        func2:7
func1:14
func1:15
        func2:8
func1:16

exit

相關推薦

Linux編譯安裝boost

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

編譯BoostLinux下如何編譯安裝Boost

前言 編譯比特幣錢包時,需要依賴Boost庫,由於編譯時間較長,在“試一試”中浪費好長時間,所以把可以成功的過程記錄下來吧。 下載Boost安裝包 通過wget工具下載 wget https://dl.bintray.com/boostorg/r

windows下編譯安裝boost

   編譯位boost庫       我用的編譯器是vs2008,剛開始我下載的是boost_1_65_1.zip,可能boost版本太高編譯錯誤,後來我就選用boost_1_57_0.zip   

linux/mac平臺上編譯安裝boost

環境:Ubuntu LTS 10.04, 64bit GCC版本: #gcc --version gcc (Ubuntu 4.4.3-4ubuntu5) 4.4.3 Copyright (C) 2009 Free Software Foundation, Inc. This is free sof

linux安裝boost

對boost庫一直是有耳聞而未曾深入瞭解和使用,今天在虛擬機器上先安裝了boost,現將安裝過程總結如下: 1、安裝環境 虛擬機器:VMWare-workstation-full-14.1.3 系統:Ubuntu 10.04LTS 2、具體步驟 首先從官網https

Linux下的原始碼包編譯安裝原理

一、Linux原始碼包安裝過程 用於linux原始碼安裝軟體,一般下載原始碼包得到檔案:file.tar.gz和file.tar.bz2格式 (1)解壓縮 解壓命令為:  tar jxvf file.tar.bz2   tar zxvf file.tar.gz (2)配

linux環境下給BOOST編譯靜態加上-fPIC選項

在linux環境下,使用靜態方式編譯boost時,bjam沒有新增-fPIC, 解決辦法如下:  編輯tools/build/v2/tools/gcc.jam檔案,將第391行的 if( $link ) = shared 註釋掉,如下圖:

八、Linux原始碼包編譯安裝

8.1. 原始碼的用處 原始碼的用處無非是以下兩點 1、軟體根據使用者的需要加以定製; 2、二次開發;注:要根據軟體的許可證書約定為準,開發者許可二次開發才行; LINUX本是開源的,看大家的倔勁有多大了,呵呵,好了,下面正文開始吧,我發完就睡覺了! 8.2. 原始碼包的

boost 原始碼編譯安裝 -fPIC

1.資源 系統:centos 7 boost原始碼:使用的是1.54版本的 boost_1_54_0.tar.gz,具體自己去boost官網下載 2.解壓boost tar -zxvf boost_1_54_0.tar.gz 注意:由於boost 預設編譯的靜態庫是沒

linux安裝boost

Boost庫是一個經過千錘百煉、可移植、提供原始碼的C++庫,,作為標準庫的後備,是C++標準化程序的發動機之一。Boost庫分為兩個部分來使用,一是直接使用對應的標頭檔案,二是需要編譯安裝相應的庫才可以使用。具體來說,boost 庫檔案有兩種型別,一種是無需編

VS2013中安裝配置使用Boost

時間:2014.07.24 地點:基地 -------------------------------------------------------------------------------------- 一、前言   今天準備去看場電影《後會無期》,但在這之前,我

linux 編譯載入解除安裝模組

主機:Windows 7旗艦版,VMware7.1.2,Fedora9 編譯環境:arm-linux-gcc 4.4.3 Linux版本:linux-2.6.32.2 busybox版本:busybox-1.19.4 目標板:友善之臂micro2440

關於fedora上linux核心編譯安裝

裝了幾次,方法比較簡單: 1.在核心目錄下,管理員許可權執行:make menuconfig 此時在desk-live 系統下可能沒有gcc ,無法make,裝gcc即可:yum install gcc 。順便裝了g++也可以:yum install gcc g++ 不管是

linux 編譯安裝apache

系統 -1 技術 安裝apache ket linu 升級 clas 重新 apache的安裝需要兩個組件,APR對於Tomcat最大的作用就是socket調度 組件下載解壓完成 ,講兩個組件解壓包移動到apache的類庫文件夾內 註:如果系統自帶了ap

dlib的編譯安裝

cmake install dcm style mic 安裝目錄 div size ckey 之前寫過python dlib依賴的安裝,安裝過程還算比較復雜,還需要安裝boost.Python依賴等,但是如果純粹的編譯C++的dlib庫,則要簡單得多,基本上不需要其

ubuntu安裝boost

缺少文件 all 官網 .sh 缺少 oot tails details trap 1.官網下載boost庫(www.boost.org) 2.解壓並進入文件夾 3.使用命令./bootstrap.sh,可以通過加上--prefix help 4.使用命令./b2 inst

Clion使用MinGW編譯好的boost

party uil roo con build nat 命令行 dha -s MinGW編譯Boost庫可以參考我之前寫的編譯Boost的文章。 以下是cmake鏈接boost靜態庫的配置: 1 cmake_minimum_required(VERSION 3.8)

Python3.7原始碼在windows(VS2015)下的編譯安裝

Python3.7原始碼在windows(VS2015)下的編譯和安裝 下載官方原始碼,使用vs2015(WIN10SDK),最python3.7.0的原始碼進行編譯,編譯出不同的版本(release,debug),並配置python的執行環境(環境變數的配置)。 測試環境介紹和準備

Libpng的編譯安裝

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

centos7.2 Git編譯安裝

1、下載git     wget https://www.kernel.org/pub/software/scm/git/git-2.9.2.tar.gz 2、解壓     tar -xvf git-2.9.2.tar.gz 3、安裝編譯依