boost库的编译其实很简单,关键是要自己尝试一下。
从网上的一些文章中摘录出其中最关键的步骤,再加上自己的实践,总结出如下文字,在此存档。
===================================================
boost编译步骤:
1.代码下载 - 官方网站:http://www.boost.org,下载的链接为:http://www.boostpro.com/download/。
在官方网站下载代码的压缩包,解压到本地目录。
比如boost_1_44_0.zip,解压到 "e:/boost_1_44_0"。
2. 准备工作
下载boost 编译工具 boost-jam-3.1.17-1-ntx86.zip。
下载地址google一下吧。http://sourceforge.net/projects/boost
新的Boost包里面一般会包含一个tools文件夹,里面含有这个文件。
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 显示需要编译的库名称