使用bcp给boost瘦身

转自:http://blog.csdn.net/langresser/article/details/5721652

bcp是boost附带的一个工具,功能是可以从boost这个庞大而复杂的库中裁剪出我们所需要的子功能模块。

只要我们运行 bcp shared_ptr MyPtrFolder 那么bcp就会自动将shared_ptr和其依赖的文件复制到MyPtrFolder目录中。

具体使用方法:

1、编译bjam。这也是编译boost的必需步骤,直接运行bootstrap.bat就好了。如果之前已经编译过,可略过这步。

2、把bjam.exe拷贝到tools/bcp 目录下,使用vs的命令行运行 bjam.exe,参数随意,无非也就是toolset选择 release/debug选择等等,没有参数也能编译成功。

3、在bin.v2/tools/bcp/… (再后面是根据你的编译选项而生成的文件夹,如msvc-9.0/release/link-static/threading-multi) 目录下可以找到 bcp.exe。这就是我们所需要的程序了。

bcp的使用是简单的,假设我们允许程序员用A、B、C、D这样四个模块,那么我们可以这样:

bcp –boost:<boost-root-directory> A B C D <output-directory>

这里A、B、C、D可以是:

Boost的头文件名。如: boost/shared_ptr.hpp

Boost的库名。如:regex

Boost的头文件标题:boost/shared_ptr 或者 shared_ptr

如果是在boost根目录下,那指定boost目录的参数也可以省去。