boost 1.35.0 Visual Studio 2008編譯指南

pamxy發表於2013-05-31

轉自:http://blog.csdn.net/benjiamen/article/details/2643705

 

一。下載

boost庫2008年3月底釋出了1.35.0版本,包括了12個新的庫和若干對於新庫的修正。請參見http://www.boost.org/users/news/version_1_35_0來獲取詳細的更新資訊。

最大的喜訊就是提供了對於Visual Studio 2008編譯器的支援(1.34也可以,但是需要手工修改)。

下載地址:

http://www.boost.org/users/download/

boost JAM可以不用下載,原始碼已經包括在boost庫中,可以直接來編譯出來。

二。準備工作

編譯boost庫之前,需要做一些準備工作。下載一些Open Source的包,來支援boost特定庫的需要。

1. ICU

ICU提供了unicode和國際化支援,目前的版本是3.8.1。ICU的主頁是http://www.icu-project.org/

(1). 下載

可以從http://www.icu-project.org/download/3.8.html下載原始碼版本和使用VS2005編譯的版本。推薦下載原始碼版本自己進行編譯,以避免依賴於VS2005的執行時庫。

(2). 編譯

ICU的編譯比較簡單,開啟ICU原始碼目錄下的source/allinone/allinone.sln,需要轉換到VS2008格式,直接轉換即可。然後,選擇release,Rebuild Solution即可。

(3). 測試

將編譯出來的bin目錄加入到系統的PATH目錄中去。然後,重新開啟allinone.sln工程。

需要通過測試的專案

  1. cintltst專案
  2. intltest專案
  3. iotest

分別設定成啟動專案,執行即可。

2. bzip

bzip的主頁是 http://www.bzip.org/,從http://www.bzip.org/downloads.html下面下載原始碼包即可,boost直接使用原始碼來進行編譯。

3. zlib

zlib的主頁是http://www.zlib.net/,從該網頁下面下載原始碼包即可,boost直接使用原始碼來進行編譯。

4. python

python的主頁是http://www.python.org/,下載python的2.5.2版本,安裝即可。boost預設是會編譯python,並且會自動尋找python的安裝目錄。

三。編譯

到開始選單的VS2008選單項下,啟動Visual Studio 2008 Command Prompt,以下編譯步驟均假定直接在該工具下進行編譯。

1. 編譯jam

到tools/jam目錄下面執行build_dist.bat,編譯好的放在tools/jam/stage/boost-jam-3.1.16-1-ntx86目錄下,將bjam.exe複製到boost的根目錄。

2. 編譯boost

鑑於參考2下使用build-type有問題,可以使用以下命令來分別編譯dll版本和lib版本。下面是一個示例指令碼的例子,其中的目錄需要替換:

1REM used with iostream library

2REM boost_1_35_0/libs/iostreams/doc/installation.html

3

4set BZIP2_SOURCE="E:/library/bzip2-1.0.4"

5set ZLIB_SOURCE="E:/library/zlib123"

6

7REM used with regex library with unicode support

8set ICU_PATH="E:/library/icu"

9

10REM DLL版本

11bjam --toolset=msvc --stagedir=./lib_x86 --builddir=./ address-model=32 link=shared runtime-link=shared threading=multi stage debug release

12

13REM lib版本

14bjam --toolset=msvc --stagedir=./lib_x86 --builddir=./ address-model=32 link=static runtime-link=shared threading=multi stage debug release

15

編譯好的檔案放置在boost根目錄的lib_x86/lib目錄下,在boost根目錄下的bin.v2目錄是中間檔案,編譯後刪除即可。

如果需要去掉編譯過程中的一些warning,可以在tools/build/v2的user-config.jam檔案中加入以下這一行:

using msvc : : : <compileflags>/wd4819 <compileflags>/D_CRT_SECURE_NO_DEPRECATE <compileflags>/D_SCL_SECURE_NO_DEPRECATE <compileflags>/D_SECURE_SCL=0 ;

四。參考文章

1. vs2005下安裝boost

http://hi.baidu.com/vivid217/blog/item/8e484eafd3b52ff8faed5063.html

2. boost1.35.0編譯日誌

http://www.cppblog.com/chemz/archive/2008/03/31/45822.html

 

相關文章