歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Boost庫的安裝和編譯

Boost庫的安裝和編譯

日期:2017/3/1 9:41:09   编辑:Linux編程

一、Boost庫的介紹

Boost庫是一個經過千錘百煉、可移植、提供源代碼的C++庫,作為標准庫的後備,是C++標准化進程的發動機之一。 Boost庫由C++標准委員會庫工作組成員發起,其中有些內容有望成為下一代C++標准庫內容。在C++社區中影響甚大,其成員已近2000人。 Boost庫為我們帶來了最新、最酷、最實用的技術,是不折不扣的“准”標准庫。 Boost庫中比較有名的幾個庫: (1)Regex,正則表達式庫; (2)Spirit,LL parser framework,用C++代碼直接表達EBNF; (3)Graph,圖組件和算法; (4)Lambda,在調用的地方定義短小匿名的函數對象,很實用的functional功能; (5)concept check,檢查泛型編程中的concept; (6)Mpl,用模板實現的元編程框架; (7)Thread,可移植的C++多線程庫; (8)Python,把C++類和函數映射到Python之中; (9)Pool,內存池管理; (10)smart_ptr,智能指針。

二、Boost庫的地址

Boost庫的下載地址:http://www.boost.org/users/download/。

三、Boost庫的安裝和編譯

(1)下載Boost庫,如boost_1_42_0.zip。解壓到目錄,如D:\Program Files\Boost\boost_1_42_0。 (2)編譯生成bjam程序。進入控制台(運行--->輸入cmd--->確定),用cd命令進入Boost目錄下的tools\jam\src目錄,如D:\Program Files\Boost\boost_1_42_0\tools\jam\src。使用build命令編譯並生成bjam程序。
  • BCC5.5/BCB6/BCB2006/CB2009用戶輸入:build borland
  • VC用戶依據其版本輸入:build vc7或vc8或vc9。
  • Mingw用戶輸入:build mingw
(3)用bjam程序編譯Boost庫。把生成的bjam.exe(bin.ntx86目錄下)拷貝到Boost根目錄下,如D:\Program Files\Boost\boost_1_42_0。進入控制台,用cd命令進入Boost根目錄下,使用bjam編譯Boost,輸入命令: bjam --toolset=borland(對應BCB)或msvc(對應VC)或gcc(對應Mingw) stage 例如:(第一個是編譯,第二個是安裝)
  • bjam --toolset=msvc-8.0 --build-type=complete --prefix="d:\Program Files\Boost\boost_1_42_0" stage
  • bjam --toolset=msvc-9.0 --build-type=complete --prefix="d:\boost_1_42_0" install
  參數說明:
  • toolset:所使用compiler,Visual Studio 2005 為 msvc-8.0。
  • build-type:編譯類型,complete表示生成所有的版本(debug,release等)。
  • prefix:指定編譯後library的的目錄。
開始編譯Boost庫,編譯時間比較長(大概半小時左右,依編譯器以及選項不同而不同),編譯好的文件會放在.\stage\lib(依--stagedir=命令決定)裡。 (4)添加Boost庫的環境變量。我的電腦--->屬性--->高級--->環境變量,新建系統變量: BOOST_ROOT=D:\Program Files\Boost\boost_1_42_0

(5)配置Visual Studio 2005的環境。VS2005的Tools--->Options--->Projects and Solutions--->VC++ Directories:

  • 在Library files中加入:D:\Program Files\Boost\boost_1_42_0\stage\lib
  • 在Include files中加入:D:\Program Files\Boost\boost_1_42_0\boost

表1. 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 顯示需要編譯的庫名稱

Boost 的詳細介紹:請點這裡
Boost 的下載地址:請點這裡

Boost程序庫完全開發指南——深入C++“准”標准庫高清PDF版 http://www.linuxidc.com/Linux/2013-07/87574.htm

Ubuntu下編譯安裝boost庫 http://www.linuxidc.com/Linux/2013-07/87573.htm

Ubuntu下編譯boost 1.52b http://www.linuxidc.com/Linux/2013-02/79004.htm

Ubuntu編譯安裝boost並在eclipse C/C++中使用 http://www.linuxidc.com/Linux/2011-04/34790.htm

Copyright © Linux教程網 All Rights Reserved