boost庫安裝與問題整理


1、注意

(1)最早下載boost_1_65_1,但是執行bootstrap.bat后沒有生成bjam.exe文件,又改成下載boost_1_55_0,找一個固定目錄,解壓,然后將解壓后文件拷貝出來,少一層目錄

(2)、生成bjam.exe文件,如果電腦有多個VS軟件,會生成最新的庫文件,如我安裝了VS2010,直接點擊bjam.exe,在boost_1_55_0\stage\lib中大量生成libboost_atomic-vc100-mt-gd-1_55.lib這類VC100靜態庫文件,再使用VS2008,時,會報大量的錯誤,網上都是用命令行執行bootstrap.bat,但是沒說怎么用,很簡單,先直接定位目錄盤。如輸入F:,回車,定位具體文件,就用cd 文件名,一層層進入,執行bootstrap.bat時,直接輸入文件名,回車就行,這個地方要注意文件名為bootstrap.bat,不是boost。

2、編譯命令

  如果圖省事,可以使用命令:bjam --toolset=msvc-9.0 --build-type=complete,,,會生成靜態庫、動態庫。

  同時以例來說明指令含義:

  bjam stage --toolset=msvc-9.0 --without-graph  link=static runtime-link=shared runtime-link=static threading=multi debug release

下面詳細解釋一下每個參數的含義: 
stage/install:stage表示只生成庫(dll和lib),install還會生成包含頭文件的include目錄。

toolset指定編譯器,可選的如borland、gcc、msvc(VC6)、msvc-10.0(VS20010)、msvc-9.0(VS2008)這個很重要。

指定錯誤,在使用的時候會提示不存在庫文件

without/with:選擇不編譯/編譯哪些庫。

stagedir/prefix:stage時使用stagedir,install時使用prefix,表示編譯生成文件的路徑。

build-dir:編譯生成的中間文件的路徑。

link:生成動態鏈接庫/靜態鏈接庫。生成動態鏈接庫需使用shared方式,生成靜態鏈接庫需使用static方式,一般boost庫可能都是以static方式編譯

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

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

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

3、配置

  打開tools -->options -->projects and solutions --> vc ++ directories

  include目錄:.....   省略號位置自己補充
  library目錄:.....stage\lib
 

參考資料:

http://www.cnblogs.com/ComputerG/archive/2011/03/10/1979730.html

http://www.cnblogs.com/wondering/archive/2009/05/21/boost_setup.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM