关闭

boost裁剪和编译

519人阅读 评论(0) 收藏 举报
分类:

使用boost自带的工具bcp从boos中裁剪出自已需要的子功能模块。

bjam --show-libraries 查询所有的模块

只要运行  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目录的参数也可以省去。


windows下编译

  1. 开始菜单启动Visual Studio 2015的vs2015 开发人员命令行提示,然后转到boost根文件夹,运行bootstrap.bat生成b2.exe。
  2. 运行命令:b2 stage --toolset=msvc --without-coroutine --without-graph --without-graph_parallel --without-math --without-mpi --without-python --without-serialization --without-wave --without-test link=static runtime-link=static threading=multi address-model=64 debug release

添加boostest工程的包含目录和库目录

 

添加库目录


(1)可以设置为仅用于当前project:

选中当前project->Properties->Configuration Properties->C/C++->General: Additional Include Directories: 设置 E:\eCode\boost_1_56_0

选中当前project->Properties->Configuration Properties->Linker->General: Additional LibraryDirectories: 设置 E:\eCode\boost_1_56_0\bin\vc12\lib

(2)可设置为仅用于当前Solution:

选中当前project->Properties->Configuration Properties->VC++ Directories:

Include Directories: 设置 E:\eCode\boost_1_56_0

LibraryDirectories: 设置 E:\eCode\boost_1_56_0\bin\vc12\lib

(3)可设置为OS当前用户下的VC++环境(当前用户下VC++所创建的所有Solution)

在某个已打开的工程下,切换到Property Manager 选项卡,然后然后展开当前工程的properties配置,打开Microsoft.Cpp.Win32.User

选择Common Properties->VC++ Directories:

Include Directories: 设置 E:\eCode\boost_1_56_0

LibraryDirectories: 设置 E:\eCode\boost_1_56_0\bin\vc12\lib

这样设置的仅在Win32编译选项下起作用,x64编译选项需要另外配置x64的properties sheet。

(4)可设置为OS所有用户下的VC++环境

可以编辑 Microsoft.Cpp.Default.props 、Microsoft.Cpp.props 。这里就不介绍了。



Linux下编译:

./bootstrap.sh 

./bjam stage --toolset=gcc address-model=64 --with-system link=static runtime-link=static variant=debug


1
0
查看评论

boost库编译参数小结

编译boost库32位编译:从开始菜单启动Visual Studio 2013的vs2013 命令行,进入boost所在目录,运行bootstrap.bat 编译命令(例): bjam.exe stage –toolset=msvc-12.0 –without-graph –without-g...
  • Xingewudi21
  • Xingewudi21
  • 2015-04-18 21:54
  • 1159

使用bcp给boost瘦身

<br /> <br />bcp是boost附带的一个工具,功能是可以从boost这个庞大而复杂的库中裁剪出我们所需要的子功能模块。<br />只要我们运行  bcp shared_ptr MyPtrFolder  ...
  • langresser
  • langresser
  • 2010-07-08 18:50
  • 4790

bcp: 给boost瘦身

bcp: 给boost瘦身boost是一个非常优秀的库。问及多数C++程序员为什么最终没有选择Boost的原因,均回答:Boost太大,过于Heavy。是的。这也是我多数在用与不用Boost之间徘徊的原因。现在给大家介绍的这个bcp也许可以部分消除这样的不良影响,让我们有机会得以使用Boost这样优...
  • xushiweizh
  • xushiweizh
  • 2008-06-20 16:22
  • 3987

boost的瘦身工具bcp的使用

Boost简介 Boost,是一组经过同行评审的(peer-reviewed)可移植的C++代码库。采用Boost Software License进行开源,其作者很多都来自C++标准委员会。Boost库已成为C++的TR1标准之一,同时实现了很多C++11的功能(号称C++11的...
  • caojinlei_91
  • caojinlei_91
  • 2018-01-30 18:33
  • 7

Windows下如何编译使用boost?

使用不同的命令对你使用boost也会产生很大的影响,因为CPU速度和硬盘现在都已经不是大问题了,所以本例中选择了除了不必要库的完全编译,当然了,你时间够,硬盘够,可以完全编译 b2 --toolset=msvc-10 --build-type=complete 解释完以上的命令后,再说完全编...
  • xiao3131
  • xiao3131
  • 2014-09-11 10:43
  • 608

boost在实际项目中的使用

对于boost在实际项目中的使用应该有一个相对客观的态度,既不能过分使用,在项目中铺满boost,又不能对其畏之如虎,不敢使用。 我想实际游戏开发中,我们的团队伙伴大多应该是跟我一样程度的----对c++有一定的了解,又绝对成不上专家。所以,我们使用boost应该有下面这些原则或者说是注意事项: ...
  • langresser
  • langresser
  • 2013-02-03 16:05
  • 4314

[精彩] 【转】Linux内核裁剪的具体步骤

strncpy函数与memcpy函数   socket函数详解 [精彩] 【转】Linux内核裁剪的具体步骤     在menuconfig中配置:  详细介绍内核配置选项及删改情况...
  • autumn20080101
  • autumn20080101
  • 2012-10-14 19:48
  • 780

bcp,只为boost库瘦身

Boost简介 Boost,是一组经过同行评审的(peer-reviewed)可移植的C++代码库。采用Boost Software License进行开源,其作者很多都来自C++标准委员会。Boost库已成为C++的TR1标准之一,同时实现了很多C++11的功能(号称C++11的准标...
  • iqfifty
  • iqfifty
  • 2013-05-31 09:45
  • 1683

linux 下boost裁剪

  • 2013-07-03 16:10
  • 16KB
  • 下载

使用bcp.exe剪切boost库

使用bcp.exe剪切boost库
  • mailsure
  • mailsure
  • 2017-04-10 16:24
  • 321
    个人资料
    • 访问:31900次
    • 积分:813
    • 等级:
    • 排名:千里之外
    • 原创:50篇
    • 转载:0篇
    • 译文:0篇
    • 评论:17条
    文章分类
    最新评论