boost 1_38_0编译步骤

 

boost库的编译其实很简单,关键是要自己尝试一下。

 

从网上的一些文章中摘录出其中最关键的步骤,再加上自己的实践,总结出如下文字,在此存档。

 

===================================================

boost编译步骤:

1.代码下载 - 官方网站:http://www.boost.org

在官方网站下载代码的压缩包,解压到本地目录。
比如boost_1_38_0.zip,解压到 "e:/boost_1_38_0"。   

2. 准备工作

下载boost 编译工具 boost-jam-3.1.17-1-ntx86.zip。
下载地址google一下吧。http://sourceforge.net/projects/boost

3. 编译

  1):打开“开始”菜单,选择“运行”,输入cmd,进入控制台窗口,进入boost安装源路径e:/boost_1_38_0。

 2):cmd中输入:

  bjam install --toolset=borland --prefix="E:/boost_1_38_0" debug --with-date_time --with-regex
 
    -- 是两个连续的减号,=前后均不能夹带空格,除路径之外,参数都是小写字母。
   --toolset 表示采用borland编译。如果用VC编译,则改为 --toolset=msvc
   debug表示编译“调试版”。
    --with 指定要编译的模块
  3):回车后,出现大量奇怪文字,最后能看到以下内容,就表示成功完成编译:
  ...failed updating 2 targets.
  ...skipped 31 targets...
  ...updated 341 targets...

 4). release版本

  bjam install --toolset=borland --prefix="E:/boost_1_38_0" release --with-date_time --with-regex

  改变的是“debug”更换为“release”。回车后开始release的boost库编译。

 
 5).有时不知道编译器到底需要什么版本的lib,可以完整编译boost:

  bjam install --toolset=borland --prefix="E:/boost_1_38_0" debug(或release)--build-type=complete

    这样会编译出所有debug和release的lib库。

 6). 库的使用
  编译完成后,E:/boost_1_38_0 目录下,可以看到两个子目录:"include"和"lib",前者保存着所有采用纯头文件形式提供的boost代码文件;后者则是所有编译出的库文件。.dll, .lib

 7). 结束
  打开C++Builder2007.
    Project-Default Options-C++Builder设置。在Include Path添加前面的"include/boost-1_38"所在的目录,在Library Path添加“lib”所在的目录。

  C++Options-Paths and Directories.同上设置。

      VC的设置众所周知,就不说了。


另附 bjam 参数   

--build-dir=<builddir>     编译的临时文件会放在builddir里(编译完就可删除)


--stagedir=<stagedir>     存放编译后库文件的路径,默认是stage


--build-type=complete     编译所有版本(确切地说是相当于:variant=release, threading=multi;link=shared|static;runtime-link=shared)


variant=debug|release     编译什么版本(Debug or Release?)


link=static|shared             使用静态库还是动态库。


threading=single|multi      单线程还是多线程库。


runtime-link=static|shared     决定是静态还是动态链接C/C++标准库。


--with-<library>     只编译指定的库,如输入--with-regex就只编译regex库了。


--show-libraries     显示需要编译的库名称

你可能感兴趣的:(多线程,regex,Path,include,library,Borland)