日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

完全编译安装boost

發布時間:2023/12/2 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 完全编译安装boost 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文章目錄
  • 1.?安裝依賴
  • 2.?編譯安裝 boost
  • 3.?環境變量配置
  • boost是C++世界中相當優秀的第三方庫,被選入STL的也有不少,其中用到的C++奇技淫巧更是數不勝數。

    安裝依賴

    boost 在類 Unix 系統上的安裝,可以參考官方文檔的?Get Started,除此之外,網上的博客1234也有很多。本文在 Ubuntu14.04 上安裝 boost1.60。

    如果要全量安裝 boost,需要先安裝第三方依賴,編譯器和構建工具(如 make)不再此列,

    1 apt-get install mpi-default-dev libicu-dev python-dev python3-dev libbz2-dev zlib1g-dev

    其中,最有可能沒被安裝的是libbz2-dev,不太常用。

    編譯安裝 boost

    先運行booststrap.sh來編譯b2,

    1 ./bootstrap.sh --with-toolset=clang

    以上命令指定了編譯工具是 clang(本文使用的是 clang3.6),也可以不指定,會使用默認的 gcc。編譯后得到b2可執行程序,再全量編譯 boost,

    1 ./b2 install --build-type=complete --layout=versioned threading=multi --prefix="/usr/lib/boost-1.60"

    以上命令中,解釋如下,

    (1)stage/install:

    stage表示只生成庫(dll和lib),install還會生成包含頭文件的include目錄。本人推薦使用stage,因為install生成的這個include目錄實際就是boost安裝包解壓縮后的boost目錄(E:\SDK\boost\boost,只比include目錄多幾個非hpp文件,都很小),所以可以直接使用,而且不同的IDE都可以使用同一套頭文件,這樣既節省編譯時間,也節省硬盤空間。

    (2)toolset:

    指定編譯器,可選的如borland、gcc、msvc(VC6)、msvc-9.0(VS2008)等。

    (3)without/with:

    選擇不編譯/編譯哪些庫。因為python、mpi等庫我都用不著,所以排除之。還有wave、graph、math、regex、test、program_options、serialization、signals這幾個庫編出的靜態lib都非常大,所以不需要的也可以without掉。這可以根據各人需要進行選擇,默認是全部編譯。但是需要注意,如果選擇編譯python的話,是需要python語言支持的,應該到python官方主頁http://www.python.org/下載安裝。

    查看boost包含庫的命令是bjam --show-libraries。

    (4)stagedir/prefix:

    stage時使用stagedir,install時使用prefix,表示編譯生成文件的路徑。推薦給不同的IDE指定不同的目錄,如VS2008對應的是E:\SDK\boost\bin\vc9,VC6對應的是E:\SDK\boost\bin\vc6,否則都生成到一個目錄下面,難以管理。如果使用了install參數,那么還將生成頭文件目錄,vc9對應的就是E:\SDK\boost\bin\vc9\include\boost-1_46\boost,vc6類似(光這路徑都這樣累贅,還是使用stage好)。

    (5)build-dir:

    編譯生成的中間文件的路徑。這個本人這里沒用到,默認就在根目錄(E:\SDK\boost)下,目錄名為bin.v2,等編譯完成后可將這個目錄全部刪除(沒用了),所以不需要去設置。

    (6)link:

    生成動態鏈接庫/靜態鏈接庫。生成動態鏈接庫需使用shared方式,生成靜態鏈接庫需使用static方式。一般boost庫可能都是以static方式編譯,因為最終發布程序帶著boost的dll感覺會比較累贅。

    (7)runtime-link:

    動態/靜態鏈接C/C++運行時庫。同樣有shared和static兩種方式,這樣runtime-link和link一共可以產生4種組合方式,各人可以根據自己的需要選擇編譯。

    (8)threading:

    單/多線程編譯。一般都寫多線程程序,當然要指定multi方式了;如果需要編寫單線程程序,那么還需要編譯單線程庫,可以使用single方式。

    (9)debug/release:

    編譯debug/release版本。一般都是程序的debug版本對應庫的debug版本,所以兩個都編譯。

    由于采用全量編譯,時間會比較長,耐心等待即可。注意,如果--prefix參數是 root 權限,那么需要使用 sudo 以管理員身份編譯安裝。

    環境變量配置

    因為我是將 boost 安裝在自定義的目錄下,為了讓編譯器找到 boost,還需要配置環境變量,要配置以下變量5

    12345 export C_INCLUDE_PATH=/usr/lib/boost-1.60/include/boost-1_60:$C_INCLUDE_PATHexport CPLUS_INCLUDE_PATH=/usr/lib/boost-1.60/include/boost-1_60:$CPLUS_INCLUDE_PATHexport LD_LIBRARY_PATH=/usr/lib/boost-1.60/lib:$LD_LIBRARY_PATHexport LIBRARY_PATH=/usr/lib/boost-1.60/lib:$LIBRARY_PATH

    其中,C_INCLUDE_PATH不是必須的,因為這僅僅對C編譯器生效。

    如果 boost 安裝正常,以下測試程序最后兩行可以打印出 boost 的版本,

    1234567891011121314151617181920 #include <string>#include <iostream>#include <boost/version.hpp>#include <boost/timer.hpp>using namespace std;int main(){boost::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; cout << "boost version" << BOOST_VERSION <<endl; cout << "boost lib version" << BOOST_LIB_VERSION <<endl; return 0;}


  • http://www.cnblogs.com/lanxuezaipiao/p/3703988.html?

  • http://www.linuxidc.com/Linux/2013-07/87573.htm?

  • http://blog.csdn.net/hongqiang200/article/details/7021976?

  • http://www.cnblogs.com/zhcncn/p/3950477.html?

  • http://blog.csdn.net/allenlinrui/article/details/21483617?

  • 總結

    以上是生活随笔為你收集整理的完全编译安装boost的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 一级黄色电影片 | 黑人与日本少妇 | 国产激情视频 | 韩国精品在线观看 | 国产福利一区二区三区在线观看 | 婷婷色图| 国内偷拍一区二区 | 开心六月婷婷 | 午夜影院在线看 | 男人的天堂毛片 | 亚洲精品乱码久久久久久按摩观 | 精品国产91久久久久久 | 欧美 日韩 国产 精品 | 九色麻豆| 国产97色在线 | 日韩 | 久久综合五月 | 国产精品美女久久久久av超清 | 久久久久久久久久久久Av | 国产又粗又猛又爽又黄 | 91麻豆精品久久久久蜜臀 | 日本污网站 | 亚洲激情视频在线观看 | 人人射av | 青青伊人影院 | 美女被男生免费视频 | 久久艹av| 久久婷婷丁香 | 乳色吐息免费看 | 中文国产在线观看 | 成av人片一区二区三区久久 | 国产成人精品影院 | 桥本有菜aⅴ一区二区三区 在线午夜电影 | 欧美日韩成人 | 葵司在线视频 | 欧美日韩国产高清视频 | 末发成年娇小性xxxxx | www.中文字幕.com | 色视频在线观看免费 | 亚洲一区精品视频在线观看 | 久久在线视频精品 | 欧美啪啪网站 | 久久理论视频 | 天天天天天天干 | 国产精品中文久久久久久 | 96看片| 亚洲天堂91 | 亚洲男同视频 | 成人极品 | 九九热在线精品 | 日韩视频免费观看高清 | 成年人视频网站 | 免费欧美黄色 | 国产一区二区内射 | 欧美一区二区大片 | 成人中文字幕在线观看 | av导航网站 | www.com亚洲| 日韩成人三级 | 大胸美女无遮挡 | 欧美国产日韩在线观看 | 中文字幕网站在线观看 | 欧美亚洲国产另类 | 精品无码一级毛片免费 | av片大全 | 侵犯亲女在线播放视频 | 日韩电影精品 | 天堂成人在线观看 | 日本不卡在线播放 | 手机福利视频 | 黄色网络在线观看 | 特高潮videossexhd | 欧美一区二区三区四区在线 | 国产精品白嫩极品美女 | 丁香婷婷在线 | 黄色片网站免费看 | 嫩草免费视频 | 国产片淫乱18一级毛片动态图 | 国产成人精品免高潮费视频 | 人妻少妇偷人精品久久久任期 | 成人国产在线观看 | 国产成人综合欧美精品久久 | 免费看60分钟黄视频 | 国内成人自拍 | 国产精品自拍第一页 | 深田咏美中文字幕 | 91免费看大片 | 国产簧片| 亚洲永久免费 | 嫩草影院永久入口 | 最好看的2019年中文在线观看 | 97国产一区 | 素人一区二区三区 | 91久久综合亚洲鲁鲁五月天 | 六月婷婷七月丁香 | 午夜在线看片 | 亚洲一区二区电影网 | 伊人蕉久影院 | 欧洲久久久久 | 性工作者十日谈 |