随笔 - 224  文章 - 41  trackbacks - 0
<2018年1月>
31123456
78910111213
14151617181920
21222324252627
28293031123
45678910

享受编程

常用链接

留言簿(11)

随笔分类(159)

随笔档案(224)

文章分类(2)

文章档案(4)

经典c++博客

搜索

  •  

最新评论

阅读排行榜

评论排行榜

原文地址: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 漂漂 阅读(659) 评论(0)  编辑 收藏 引用 所属分类: boost

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