歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Boost庫的使用和編譯

Boost庫的使用和編譯

日期:2017/3/1 10:10:58   编辑:Linux編程

1.boost庫有些需要編譯,絕大部分不需編譯,直接包含源文件即可使用,需要編譯的庫包括:data_time,regex,program_options,test,thread,system,python等十五個

2.編譯bjam:

(1)進入boost目錄(以boost_1_50_0為例),進入tools\jam\src

(2)運行build.bat,編譯bjam

(3)編譯完成後把bjam.exe拷貝到boost根目錄下

3.修改boost配置

進入tools\build\v2下的user-config.jam,去掉msvc前的#注釋,啟動msvc8.0 / msvc9.0 / msvc10.0

4.編譯boost

(1)編譯的一些選項

--toolset=msvc 指定編譯器

--build-dir=<builddir> 編譯的臨時文件會放在builddir裡(編譯完就可以把它刪除了)

--stagedir=<stagedir> 存放編譯後庫文件的路徑,默認是stage

--build-type=complete 編譯所有版本,不然只會編譯一小部分版本

--variant=debug|release決定是Dbug還是Release

--link=static|shared 決定是靜態庫還是動態庫

--threading=single|multi 決定使用單線程還是多線程庫

--runtime-link=static|shared決定是靜態鏈接還是動態鏈接C/C++標准庫

--with-<library>指定編譯的庫,如輸入--with-date-time就只編譯date-time庫

(2)命名規則

link= static : 靜態庫。 生成的庫文件名稱以 “lib”開頭

link= shared : 動態庫。

threading= mult : 支持多線程。 生成的庫文件名稱中包含 “-mt”

variant=release

variant= debug 生成的庫文件名稱包含 “-gd”

runtime-link= static 生成的庫文件名稱包含 “-s”

runtime-link= shared 生成的庫文件名稱不包含 “-s”

(3)例如:bjam --toolset=msvc --build-type=complete --variant=debug --with-system

鏈接:http://www.boost.org

Copyright © Linux教程網 All Rights Reserved