Boost_1_33_1沒有想像中的恐怖 (李维)

2006/11/16 下午 02:14:16
原則上要先使用build.bat, 產生bjam.exe, 再編繹出library. 由於各編譯器不同, lib並無法共用!

編譯完成後:
*.lib在 C:\Boost\Lin
*.hpp在 C:\Boost\include

VC++2005 && Dev-C++4.9.9.2 可以共用 include files!
BCB2006(or TC++2006) 必須獨立使用 include files!

需要在編譯器加入lib & include的 path, 使用Dev-C++要更費心將使用到的*.lib加入=>不然邊不出來!

********* boost 1.33.1 for VC++2005 *********
(1) 解壓 boost-build-2.0-m11.zip

>build.bat
(in \jam_src) to create bjam.exe(in \jam_src\bin.ntx86)

(2) 執行 boost_1_33_1.exe(create C++ source files in \boost_1_33_1)
copy bjam.exe to \boost_1_33_1 and run it

>bjam "-sTOOLS=vc-8_0" install

(3) 執行完後編譯的lib檔和include檔會被安裝到C:\Boost\目錄下

********* boost 1.33.1 for Dev-C++4.9.9.2 *********
(假設dev-cpp的安裝路徑為c:\Dev-Cpp\,由於Dev-cpp使用的其實
是mingw的編譯器,因此編譯boost時選擇的toolset也就是mingw)

(1)下載boost_1_33_1.exe,將其解壓到D:\CppLib\boost_1_33_1\目錄下,
這裏面都是源碼,需要編譯成庫。下載boost-build-2.0-m11.zip, 將其解壓到D:\CppLib\boost-build\目錄下。

(2)編譯Boost.Jam,這是Boost的編譯工具,也需要從源碼編譯。
進入dos環境:
D:\CppLib\boost-build\jam_src\
設置環境變數和路徑:
>set BOOST_JAM_TOOLSET_ROOT=c:\dev-cpp\
>set path=%BOOST_JAM_TOOLSET_ROOT%bin;%path%
執行:***
>build.bat mingw
成功執行後生成執行檔:
D:\CppLib\boost-build\jam_src\bin.ntx86\bjam.exe
新生成的bjam.exe就在這個目錄下,將其拷貝到D:\CppLib\boost_1_33_1\目錄下。

(3)編譯boost源碼
進入D:\CppLib\boost_1_33_1\目錄,
執行編譯:
>bjam "-sTOOLS=mingw" "-sMINGW_ROOT_DIRECTORY=C:\Dev-Cpp" install

(4) 執行完後編譯的lib檔和include檔會被安裝到C:\Boost\目錄下

(5) Dev-C++4.9.9.2 的設定中, 要直接加上 link *.lib, 用到的每個都要加!!!

2006/11/16 下午 02:14:54
********* boost 1.33.1 for BCB2006 *********
(0) 解壓 bcbboost-1_33_1-5_8_2-0.5.zip(比0.4新), 蓋過原來 boost_1_33_1 檔案, 專為BCB2006的更新!

* 先將VC7, VC8的路徑改名稱, 如此才不會直接抓到VC++版本, 切記, 切記:
Microsoft Visual Studio 8 => Microsoft Visual Studio 8_pause
Microsoft Visual Studio .NET 2003 => Microsoft Visual Studio .NET 2003_pause
編譯OK再改回來! Ken Hsu , 20061115

測試用的是Turbo C++ 2006免費版!請先去borland註冊,他會傳一個檔給你, 放在正確的位置就可以
正常install!

(1) Borland 李維 7月6日
整合BDS 2006/C++Builder 2006 和Boost 1.33.x
最近我在準備一些有關C++Builder的東西,需要使用到Boost,剛好也有一些朋友詢問我如何在
BDS 2006/C++Builder 2006中使用Boost架框。於是我花了一些時間整合BDS 2006/C++Builder 2006
和最新的Boost 1.33.x版,以便讓我能夠在BDS 2006/C++Builder 2006中使用Boost。在這裡我整理
出來讓需要使用的朋友參考一下。

要整合BDS 2006/C++Builder 2006和最新的Boost 1.33.x版,您需要進行下面的步驟:
�� 取得Boost 1.33.x並且解開到一個目錄,在本篇文章中假設您是解開在D:\Boost133的目錄中 :
這兒我假設您已經知道怎麼做了,取得BCB 2006 for Boost的Patch,您可以在SourceForge上找到
或是在這下載 http://liwei.csdn.net/down/bcbboost-1_33_1-5_8_2-0.4.zip
解開這檔案並且取代Boost 1.33.x版中的內容
�� 取得或是自己Build bjam.exe。您也可以在這裡下載它 :
http://liwei.csdn.net/down/boost-jam-3.1.13-1-ntx86.zip
把Bjam.exe解開到一個目錄並且把這個目錄加入到您的Path之中
�� 到 CD到D:\Boost133,並且執行下面的命令
set BCCROOT=您的BDS 2006/C++Builder 2006的安裝目錄,例如

>set BCCROOT=D:\Program Files\Borland\BDS\4.0
>bjam "-sTOOLS=borland-5_8_2" install

接著耐心的等待C++Builder 2006的編譯器Build Boost的函式庫,結束之後會在D:\Boost133\bin\boost目錄之中產生靜態和動態連結函式庫。
現在就可以使用Boost函式庫,例如我先把所有Build出來的靜態函式庫拷貝到e:\seminars\bcb2006ex\boost_1_33_1\allbins目錄下(不用,會在c:\boost\lib下面),接著建立一個Console Application專案,撰寫一個Boost範例如下:
啟動Console Application專案的Options對話盒,在Include search path中加入您的boost目錄,例如D:\Boost133:
再把Boost函式庫的目錄加入到Library search path中:
最後編譯此專案,然後就可以在DOS命令列中執行了,例如下面就是我執行Boost函式庫中範例的結果:
很簡單吧,Have fun,have a good BDS 2006/Boost day!

(3) 執行完後編譯的lib檔和include檔會被安裝到C:\Boost\目錄下(有許多模組編譯不出來,可能要等到boost1.34.0才會解決)

(4)由於其中檔名中皆有 "bcb58", BCB2006認不出來, 請下載改名軟體將"bcb58"=>改為"bcb"就可以正常使用.

(5)有些模組仍有問題, 如serialization, 可能要等到boost1.34.0才會解決.

http://www.programmer-club.com.tw/showSameTitleN/c/33560.html