最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux如何編譯和安裝boost庫(kù)

 更新時(shí)間:2024年01月11日 16:46:58   作者:this_CAPSLOCK  
這篇文章主要介紹了Linux如何編譯和安裝boost庫(kù)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

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

https://www.boost.org/下載boost的安裝包,以boost_1_58_0.tar.gz為例

下載完成后進(jìn)行解壓縮:

tar zxvf boost_1_58_0.tar.gz

2.設(shè)置編譯器和所選庫(kù)

先進(jìn)入解壓縮后的目錄:

cd boost_1_58_0

然后運(yùn)行bootstrap.sh腳本并設(shè)置相關(guān)參數(shù):

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

--with-libraries指定編譯哪些boost庫(kù),all的話就是全部編譯,只想編譯部分庫(kù)的話就把庫(kù)的名稱寫上,之間用 , 號(hào)分隔即可

可指定的庫(kù)有以下幾種:

庫(kù)名說(shuō)明
atomic
chrono
context
coroutine
date_time
exception
filesystem
graph圖組件和算法
graph_parallel
iostreams
locale
log
math
mpi用模板實(shí)現(xiàn)的元編程框架
program_options
python把C++類和函數(shù)映射到Python之中
random
regex正則表達(dá)式庫(kù)
serialization
signals
system
test
thread可移植的C++多線程庫(kù)
timer
wave

--with-toolset指定編譯時(shí)使用哪種編譯器,Linux下使用gcc即可,如果系統(tǒng)中安裝了多個(gè)版本的gcc,在這里可以指定gcc的版本,比如--with-toolset=gcc-4.4

命令執(zhí)行完成后看到顯示如下即為成功:

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

執(zhí)行以下命令開(kāi)始進(jìn)行boost的編譯:

./b2 toolset=gcc

編譯的時(shí)間大概要10多分鐘,耐心等待,結(jié)束后會(huì)有以下提示:

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

4.安裝boost

最后執(zhí)行以下命令開(kāi)始安裝boost:

./b2 install --prefix=/usr

--prefix=/usr用來(lái)指定boost的安裝目錄,不加此參數(shù)的話默認(rèn)的頭文件在/usr/local/include/boost目錄下,庫(kù)文件在/usr/local/lib/目錄下。

這里把安裝目錄指定為--prefix=/usr則boost會(huì)直接安裝到系統(tǒng)頭文件目錄和庫(kù)文件目錄下,可以省略配置環(huán)境變量。

安裝完畢后會(huì)有以下提示:

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

最后需要注意,如果安裝后想馬上使用boost庫(kù)進(jìn)行編譯,還需要執(zhí)行一下這個(gè)命令:

ldconfig

更新一下系統(tǒng)的動(dòng)態(tài)鏈接庫(kù)

5.boost使用測(cè)試

以boost_thread為例,測(cè)試剛安裝完的boost庫(kù)是否能正確使用,測(cè)試代碼如下:

#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;
}

在編譯程序時(shí),需要加入對(duì)boost_thread庫(kù)的引用:

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

如果boost庫(kù)的安裝位置不是在系統(tǒng)目錄下,則還需要在編譯時(shí)加上-I和-L指定boost頭文件和庫(kù)文件的位置

編譯成功后運(yùn)行程序,利用boost實(shí)現(xiàn)的多線程任務(wù)正確運(yùn)行:

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

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • LNMP系列教程之 解決sendmail不能發(fā)送郵件問(wèn)題

    LNMP系列教程之 解決sendmail不能發(fā)送郵件問(wèn)題

    客戶需要驗(yàn)證郵件注冊(cè)用戶我發(fā)現(xiàn)郵件發(fā)送不了。一般的主機(jī)我用過(guò),直接在dz后臺(tái)開(kāi)啟就可以實(shí)現(xiàn)。查閱相關(guān)資料應(yīng)該是sendmail不能發(fā)送郵件導(dǎo)致的。那我們?nèi)绾谓鉀Q呢
    2012-09-09
  • Linux下性能分析工具Perf安裝與用法

    Linux下性能分析工具Perf安裝與用法

    perf是Linux下的一款性能分析工具,能夠進(jìn)行函數(shù)級(jí)與指令級(jí)的熱點(diǎn)查找,它由一個(gè)叫“Performance?counters“的內(nèi)核子系統(tǒng)實(shí)現(xiàn),可用于性能瓶頸的查找與熱點(diǎn)代碼的定位,本文給大家介紹了Linux?Perf安裝與使用,需要的朋友可以參考下
    2024-05-05
  • Linux中修改環(huán)境變量及生效方法

    Linux中修改環(huán)境變量及生效方法

    下面小編就為大家?guī)?lái)一篇淺談Linux中修改環(huán)境變量及生效方法。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Ubuntu20.04開(kāi)機(jī)黑屏光標(biāo)閃爍進(jìn)不去系統(tǒng)的解決方案

    Ubuntu20.04開(kāi)機(jī)黑屏光標(biāo)閃爍進(jìn)不去系統(tǒng)的解決方案

    文章主要描述了作者在使用命令行升級(jí)Ubuntu系統(tǒng)時(shí)遇到的問(wèn)題以及解決方法,升級(jí)過(guò)程中斷電導(dǎo)致系統(tǒng)無(wú)法正常啟動(dòng),最終通過(guò)切換到命令行界面、聯(lián)網(wǎng)更新和重啟等步驟解決問(wèn)題
    2026-04-04
  • 在CentOS上安裝nmap失敗的完整解決方案

    在CentOS上安裝nmap失敗的完整解決方案

    在CentOS/RHEL系統(tǒng)上安裝nmap失敗的問(wèn)題通常與軟件源配置或依賴關(guān)系有關(guān),以下是專業(yè)解決方案,包括修復(fù)軟件源配置、手動(dòng)安裝nmap、使用EPEL倉(cāng)庫(kù)和編譯安裝等方法,需要的朋友可以參考下
    2025-10-10
  • centos7修改系統(tǒng)語(yǔ)言為簡(jiǎn)體中文的實(shí)現(xiàn)

    centos7修改系統(tǒng)語(yǔ)言為簡(jiǎn)體中文的實(shí)現(xiàn)

    這篇文章主要介紹了centos7修改系統(tǒng)語(yǔ)言為簡(jiǎn)體中文的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Linux內(nèi)核宏Container_Of的詳細(xì)解釋

    Linux內(nèi)核宏Container_Of的詳細(xì)解釋

    我們?cè)诜治鯨inux內(nèi)核鏈表的時(shí)候注意到內(nèi)核在求解結(jié)構(gòu)體偏移的時(shí)候巧妙的使用了container_of宏定義,本文我們就來(lái)詳細(xì)剖析下內(nèi)核到底是如何求解結(jié)構(gòu)體成員變量的地址的
    2021-09-09
  • linux之如何殺掉指定端口

    linux之如何殺掉指定端口

    這篇文章主要介紹了linux之如何殺掉指定端口問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Linux使用stty顯示修改終端行設(shè)置

    Linux使用stty顯示修改終端行設(shè)置

    這篇文章主要介紹了Linux使用stty顯示修改終端行設(shè)置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-09-09
  • Linux本機(jī)與服務(wù)器文件互傳及Linux服務(wù)器文件上傳下載命令寫法

    Linux本機(jī)與服務(wù)器文件互傳及Linux服務(wù)器文件上傳下載命令寫法

    這篇文章主要介紹了Linux本機(jī)與服務(wù)器文件互傳及Linux服務(wù)器文件上傳下載命令寫法,需要的朋友可以參考下
    2017-08-08

最新評(píng)論

东明县| 民和| 平陆县| 丰原市| 罗山县| 辽阳市| 金平| 瑞安市| 左云县| 平舆县| 富川| 鹰潭市| 加查县| 湘潭县| 贡觉县| 玉树县| 共和县| 开平市| 佛冈县| 昭苏县| 勐海县| 禄丰县| 资兴市| 陆丰市| 文昌市| 通辽市| 洛扎县| 青阳县| 霍林郭勒市| 富裕县| 霍山县| 麟游县| 铜陵市| 柯坪县| 盐城市| 大新县| 民和| 怀化市| 永宁县| 宝丰县| 西吉县|