亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

ubuntu下編譯安裝boost庫 - longcpp - 博客園

系統 4875 0

ubuntu下編譯安裝boost庫 - longcpp - 博客園

ubuntu下編譯安裝boost庫


2012-06-06 15:17
by
longcpp,
259
閱讀,
2
評論,
收藏 ,
編輯

環境:ubuntu 12.04? 32bit,boost 1.49

前期準備:boost中,用到了別的函數庫,所以為了使用boost中相應的功能,需要先安裝系統中可能缺失的庫

apt-get install mpi- default -dev  #安裝mpi庫
apt-get install libicu-dev     #支持正則表達式的UNICODE字符集
apt-get install python-dev     #需要python的話
apt-get install libbz2-dev     #如果編譯出現錯誤:bzlib.h: No such file or directory

上述函數庫裝好之后,就可以編譯boost庫了。解壓boost_1_49_0.tar.bz2,得到/boost_1_49_0,將當前工作目錄切換到此文件夾下。

./bootstrap.sh

生成bjam,上述命令可以帶有各種選項,具體可參考幫助文檔: ./bootstrap.sh --help。其中--prefix參數,可以指定安裝路徑,如果不帶--prefix參數的話(推薦),默認路徑是 /usr/local/include 和 /usr/local/lib,分別存放頭文件和各種庫。執行完成后,會生成bjam,已經存在的腳本將會被自動備份。注意,boost 1.49會在當前目錄下,生成兩個文件bjam和b2,這兩個是一樣的,所以接下來的步驟,可以用這兩個中的任意一個來執行。

using mpi ;  #如果需要MPI功能,需要在 /tools/build/v2/user-config.jam 文件的末尾添加

?接下來就是利用生成的bjam腳本編譯源代碼了

./b2 -a -sHAVE_ICU=1  #-a參數,代表重新編譯,-sHAVE_ICU=1代表支持Unicode/ICU

注意,這里是全部編譯。當然也可以選擇只編譯一部分,選項 --with-<library>? 只編譯指定的庫,如輸入--with-regex就只編譯regex庫了。boost1.49 的完全編譯,在筆者Intel? Core?2 Duo CPU T5750 @ 2.00GHz × 2 ,2G DDR2內存的老機子上,使用上述選項,半個小時就差不多了。這個時間是可以承受的。全部編譯安裝,心理上感覺也舒服些。^_^

bjam的一些常用的參數,列表如下:

--build-dir=<builddir> 編譯的臨時文件會放在builddir里(這樣比較好管理,編譯完就可以把它刪除了)
--stagedir=<stagedir> 存放編譯后庫文件的路徑,默認是stage
--build-type=complete

編譯所有版本,不然只會編譯一小部分版本,確切地說是相當于:

variant=release, threading=multi;link=shared|static;runtime-link=shared

variant=debug|release 決定編譯什么版本(Debug or Release?)
link=static|shared 決定使用靜態庫還是動態庫
threading=single|multi 決定使用單線程還是多線程庫
runtime-link=static|shared 決定是靜態還是動態鏈接C/C++標準庫
--with-<library> 只編譯指定的庫,如輸入--with-regex就只編譯regex庫了
--show-libraries 顯示需要編譯的庫名稱

?編譯完成后,進行安裝,也就是將頭文件和生成的庫,放到指定的路徑(--prefix)下

./b2 install

?至此,如果一切順利,就完成安裝了。寫個小程序檢驗下,來自《Boost程序庫完全開發指南——深入C++“準”標準庫(修訂版)》(羅劍鋒著,電子工業出版社2012.5)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include "stdcpp.hpp"
#include <boost/timer.hpp>
?
using namespace boost;
?
int main()
{
???? timer t;
???? cout << "max timespan: " << t.elapsed_max() / 3600 << "h" << endl;
???? cout << "min timespan: " << t.elapsed_min() << "s" << endl;
?
???? cout << "now time elapsed: " << t.elapsed() << "s" << endl;
?
???? return EXIT_SUCCESS;
}

?程序輸出:

max timespan: 0.596523h
min timespan: 1e-06s
now time elapsed: 0s

?

ubuntu下編譯安裝boost庫 - longcpp - 博客園


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 一级特级欧美午夜片免费观看 | 欧美成人免费夜夜黄啪啪 | 国产色婷婷精品综合在线 | 久久香蕉国产线看精品 | 亚洲一区二区中文 | 奇米影视778成人四色狠狠 | 日韩精品大片 | 国产成人精品视频免费 | 图片亚洲va欧美va国产综合 | 综合欧美一区二区三区 | 亚洲国产成人久久精品动漫 | 伊人久久中文字幕久久cm | 国产综合成人久久大片91 | 视频在线色 | 久久久国产一区二区三区 | 免费一区二区三区免费视频 | 国产精品久久久久久久福利院 | 四虎影视在线影院在线观看 | 亚洲综合欧美 | 亚洲乱码国产乱码精品精98 | 四虎激情影院 | 国产精品第二页在线播放 | 大狠狠大臿蕉香蕉大视频 | 亚洲色四在线视频观看 | 五月情视频在线观看 | 久久免费香蕉视频 | 亚洲精品一区 | 一区二区三区亚洲视频 | 一级毛片一级毛片一级毛片aa | 四虎国产精品免费久久影院 | 亚洲欧美国产精品久久久 | 日本一级特黄毛片免费视频 | 婷婷综合社区 | 成人欧美一区二区三区 | 精品视频网| 五月天色中色 | 福利视频午夜 | 成人在线免费网站 | 在线观看麻豆精品国产不卡 | 亚洲综合免费 | 成人国产激情福利久久精品 |