原文地址:
http://hi.baidu.com/silyt/blog/item/06ba99c8c05e4b127e3e6f2a.html經歷了將近半年多的時間boost終于發布了1.35.0版本(前版本1.34.1發布于2007/7),其編譯方法和原來的編譯方法基本上是一致的,主要改變包括1.34.0以來bjam的toolset所提供的參數名稱的改變外,還包括bjam的編譯默認選項的變化,在1.35.0之前的版本默認編譯時會自動編譯各種版本的庫,包括靜態庫、動態庫、debug庫和release庫等全部的版本,但是到了1.35.0時默認的選擇僅僅編譯release版本的庫,這樣一來在開發的時候就不能進行必要的調試了,為了能夠使其編譯全部的版本需要在bjam的命令行參數中添加一個--build-type=complete類型的參數來指明需要編譯全部的版本,所需要編譯同時為了使得regex庫能夠通過ICU庫支持Unicode,在編譯上需要有一些特殊的選擇。我在Visual Studio 2005 Pro + SP1環境下編譯了該庫,為了避免走彎路所以將其編譯的方法進行說明,以方便大家編譯。
由于boost是采用其自己的bjam工具通過命令行進行編譯的,所以:
如果在Windows下開啟console窗口(單擊“開始”按鈕,單擊“運行”,敲入“cmd”),必須將Visual Studio中C++目錄下的環境vcvarsall.bat配置腳本運行一遍,以設置好VC的編譯器環境變量。
如果從vs2005的工具菜單進入命令提示窗口(單擊“開始”按鈕,指向“所有程序”,指向“Microsoft Visual Studio 2005”,指向“Visual Studio 工具”,然后單擊“Visual Studio 2005 命令提示”),則不需要運行Visual Studio中C++目錄下的環境vcvarsall.bat配置腳本。
具體編譯步驟如下:
1.下載boost_1_35_0壓縮文件,解壓縮到d:\boost_1_35_0\目錄下
http://sourceforge.net/project/showfiles.php?group_id=7586&package_id=8041
2.編譯bjam
從vs2005的工具菜單進入命令提示窗口(單擊“開始”按鈕,指向“所有程序”,指向“Microsoft Visual Studio 2005”,指向“Visual Studio 工具”,然后單擊“Visual Studio 2005 命令提示”),cd到d:\boost_1_35_0\tools\jam\src下執行build.bat,會在d:\boost_1_35_0\tools\jam\src\bin.ntx86\下生成bjam.exe,將bjam.exe復制到d:\boost_1_35_0\下。
3.設定編譯環境
修改user-config.jam (d:\boost_1_35_0\tools\build\v2\user-config.jam) 的MSVC configuration
# MSVC configuration
# Configure msvc (default version, searched in standard location
# and PATH).
# using msvc ;
using msvc : 8.0 : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ;
4.編譯boost
將目錄cd到d:\boost_1_35_0\下執行
(1). 編譯不帶ICU支持的boost庫
此種情況下的boost庫編譯起來比較的簡單,在準備好的console窗口中輸入:
bjam --without-python --toolset=msvc-8.0 --build-type=complete --prefix="d:\boost_1_35_0" stage
就可以了,如果要安裝的話則輸入:
bjam --without-python --toolset=msvc-8.0 --build-type=complete --prefix="d:\boost_1_35_0" install
(2). 編譯具有ICU支持的boost庫
首先我們必須編譯ICU庫才能夠編譯boost庫,在準備好的console窗口中輸入:
bjam -sICU_PATH=d:\ICU --without-python --toolset=msvc-8.0 --build-type=complete --prefix="d:\boost_1_35_0" stage
就可以了,如果要安裝的話則輸入:
bjam -sICU_PATH=d:\ICU --without-python --toolset=msvc-8.0 --build-type=complete --prefix="d:\boost_1_35_0" install
通過上面的方法可以很正常完成boost各種需要版本的關系。
參數說明:
--without-python 表示不使用 python
--toolset : 所使用compiler,Visual Studio 2005 為 msvc-8.0
--build-type:編譯類型,complete表示生成所有的版本(debug,release等)
--prefix:指定編譯后library的的目錄
這一步要花比較長的時間(大約幾十分鐘,視機器配置而定)
5.設定vs2005環境
Tools -> Options -> Projects and Solutions -> VC++ Directories
在Library files加上d:\boost\lib
在Include files加上d:\boost\include\boost_1_35_0
注:以上的各個目錄只是作為例子說明,實際安裝過程中可以視自己的喜好進行修改。
posted on 2008-11-23 20:49
漂漂 閱讀(669)
評論(0) 編輯 收藏 引用 所屬分類:
boost