boost1.35.0編譯日誌
經曆了將近半年多的時間boost終於發布了1.35.0版本(前版本1.34.1發佈於2007/7),
其編譯方法和原來的編譯方法基本上是一致的,主要改變包括1.34.0以來bjam的toolset所
提供的參數名稱的改變(具體參見《boost1.34.0編譯日誌》)外,還包括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視窗,同時必須將Visual Studio中C++目錄下的環境vcvarsall.bat配置指令碼運行一
遍,以設定好VC的編譯器環境變數。
1. 編譯不帶ICU支援的boost庫
此種情況下的boost庫編譯起來比較的簡單,在準備好的console視窗中輸入:
bjam --without-python --toolset=msvc-8.0 --build-type=complete stage
就可以了,如果要安裝的話則輸入:
bjam --without-python --toolset=msvc-8.0 --build-type=complete install
2. 編譯具有ICU支援的boost庫
首先我們必須編譯ICU庫才能夠編譯boost庫,在準備好的console視窗中輸入:
bjam -sICU_PATH=d:"ICU --without-python --toolset=msvc-8.0 --build-type=complete stage
就可以了,如果要安裝的話則輸入:
bjam -sICU_PATH=d:"ICU --without-python --toolset=msvc-8.0 --build-type=complete install
通過上面的方法可以很正常完成boost各種需要版本的關係。