公告

<2024年7月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

统计

  • 随笔 - 9
  • 文章 - 13
  • 评论 - 3
  • 引用 - 0

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

搜索

  •  

最新评论

阅读排行榜

评论排行榜

Boost安装(BCB)

Boost安装(BCB)
===========================
boost 官方网站:www.boost.org

1.编译bjam.exe

在发布包中不含bjam的可执行文件, 因此要先进行编译.
假设安装在c:\boost_1_33_1\, 则打开命令行, 进行c:\boost_1_33_1\tools\build\jam_src目录:
cd /d "c:\boost_1_33_1\tools\build\jam_src", 再运行build.dat.
由于机器上同时安装了: VS.NET/BSD 4.0/BCB 6.0, 所以默认执行时它会先找VC环境,
这里我们可以通过指定编译环境为borland. 这时由于环境变量中BSD是长文件路径,
因此在编译过程中会提示找不到一些文件, 主要是由于路径解析有些问题. 我们将build.bat文件改动一下:

找到:Start行, 它是批处理的执行起始:
默认是如下内容:


:Start
set  BOOST_JAM_TOOLSET =

REM If no arguments guess the toolset;
REM or 
if  first argument  is  an option guess the toolset;
REM otherwise the argument 
is  the toolset to use.
if   " _%1_ "   ==   " __ "  (
    call :Guess_Toolset
    
if  not errorlevel  1   goto  Setup_Toolset
else  (
    call :Test_Option 
% 1
    
if  not errorlevel  1  (
        call :Guess_Toolset
        
if  not errorlevel  1   goto  Setup_Toolset
    ) 
else  (
        setlocal 
&  endlocal
        
set  BOOST_JAM_TOOLSET =% 1
        shift
        
goto  Setup_Toolset
    )
)

更改后变成如下内容:
===========================================================
:Start
REM set BOOST_JAM_TOOLSET=
set BOOST_JAM_TOOLSET=borland
REM set BOOST_JAM_TOOLSET_ROOT="C:\PROGRA~1\Borland\CBuild6"
set BOOST_JAM_TOOLSET_ROOT="C:\PROGRA~1\Borland\BSD\4.0\Bin"

REM If no arguments guess the toolset;
REM or if first argument is an option guess the toolset;
REM otherwise the argument is the toolset to use.

if "_%1_" == "__" (
    if "_%BOOST_JAM_TOOLSET%_" == "__" (
        call :Guess_Toolset
        if not errorlevel 1 goto Setup_Toolset
    ) else (
        goto Setup_Toolset
    )
) else (

    call :Test_Option %1
    if not errorlevel 1 (
        call :Guess_Toolset
        if not errorlevel 1 goto Setup_Toolset
    ) else (
        setlocal & endlocal
        set BOOST_JAM_TOOLSET=%1
        shift
        goto Setup_Toolset
    )
)
===========================================================
再直接执行build.bat, 成功编译通过. 在C:\boost_1_33_1\tools\build\jam_src\bin.ntx86目录下生成bjam.exe文件.

2.编译boost库文件

将C:\boost_1_33_1\tools\build\jam_src\bin.ntx86目录下生成bjam.exe文件COPY到c:\boost_1_33_1.
进入boost的安装根目录
C:\boost_1_33_1>bjam "-sTOOLS=borland" install
这个过程比较漫长, just wait, wait, and ... wait...^_^
在c:\Boost目录下面将生成头文件和库文件的目录.

除此之外, 还要到C:\boost_1_33_1\libs\regex\build目录下面编译对应的文件, 在这里是bcb6.mak.
最后会生成libboost_regex-bcb*.lib和对应的DLL文件. 带iinstall参数会自动安装到BCB目录里面去.
这里要注意一点, 由于安装脚本会自己查找borland的安装目录, 在我的系统中由于安装了BDS和BCB,
所以它会用BDS的BCC去编译, 这样中间就会出现一些错误, 这里我的解决办法是在命令行下将BDS
从PATH中去掉.只留下BCB的环境变量.
更改:
C:\boost_1_33_1\libs\regex\build>set path=C:\WINDOWS\Microsoft.NET\Framework\v1.
1.4322\;[原来BDS的位置去掉]C:\PROGRA~1\Borland\CBUILD~1\Bin;C:\PROGRA~1\Borland\CBUILD~1\Projects\B
pl;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;C:\Program File
s\Common Files\Compuware

运行如下命令:
C:\boost_1_33_1\libs\regex\build>make.exe -fbcb6.mak install

最后一点需要记得的是: 在C:\boost_1_33_1\boost\type_traits目录(上一步生成的文件夹)下的is_enum.hpp文件中有一行出现错误, 开始处多了一个冒号
: ::boost::is_convertible<typename boost::add_reference<T>::type,::boost::detail::int_convertible>
将一个冒号去掉才行. 不明白作者怎么会出这种错误. ^_^

posted on 2006-08-22 17:56 blues 阅读(1151) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理