編譯boost,源自

STLport
比vc自帶的更優越.

下載地址:www.stlport.org
Debug模式下使用STLport,需要定義宏"__STL_DEBUG"
Debug模式與Boost配合使用STLport,需要定義宏"_STLP_DEBUG"
與MFC配合使用STLport,需要定義宏"_STLP_USE_MFC"

編譯STLport
1.從"開始"菜單運行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"
2.執行命令"cd d:\STLport",進入STLport目錄
3.執行命令"configue msvc10"
4.執行命令"cd d:\STLport\build\lib"進入lib目錄
5.執行命令"nmake -f msvc.mak clean install"
編譯時間較長,編譯完成後會自動將編譯出的*.dll和*.lib複製到STLport\lib和STLport\bin目錄下,之後可講STLport\build\lib\obj目錄刪除節約硬盤空間

編譯bjam
boost編譯未使用make,而是bjam,可下載,可自行編譯版本
1.從"開始"菜單運行VS2010工具的命令行提示符"Visual Studio 2005 Command Prompt"
2.執行命令"cd d:\boost\tools\jam\src"
3.運行build.bat,開始編譯bjam
編譯完成後,bjam.exe程序位於src\bin.ntx86下
無論是下載還是編譯,最後都需要將bjam.exe程序拷貝到boost的根目錄d:\boost


使用bjam前需要修改bjam的配置文件:boost\toost\build\v2\user-config.jam
1.修改57行,去掉前面的#註釋,啓用msvc8.0
2.修改75行,去掉前面的#註釋,啓用STLport,修改STLport的頭文件路徑和lib文件路徑,路徑使用"/"分隔.如:using stlport::d:/stlport/src d:/stlport/lib;
如果不使用STLport替代C++標準庫,第二步省略.

完全編譯boost
1.在boost根目錄執行命令
bjam --toolset=msvc --build-type=complete stdlib=stlport stage
或者(Linux)
bjam --toolset=gcc --build-type=complete stage
toolset 指定編譯器
build-type指定編譯類型,如不指定則默認使用release模式
stdlib指定要搭配的標準庫,如不使用可不用該選項
stage選項指定boost本地構建.如果使用install選項則編譯後會把boost安裝到默認路徑下(win c:\boost,linux: /usr/local)

編譯成功後可以在boost\bin.v2目錄下找到生成的*.dll和*.lib,拷貝到其他目錄(如boost\vc8lib),之後就可以把bin.v2目錄刪除

部分編譯
bjam --toolset=msvc --with-date_time --build-type=complete stdlib=stlport stage將僅編譯data_time庫
bjam可指定安裝路徑,debug或者release版本,查詢其它資料獲得更多信息.


嵌入代碼編譯
BOOST_ALL_NO_LIB或者BOOST_XXX_NO_LIB(XXX表示某庫名稱),以指示boost庫不要自動連接功能

 使用時需要設置文件目錄和庫目錄

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章