boost裁剪和编译
来源:互联网 发布:fedora25 yum 配置源 编辑:程序博客网 时间:2024/06/06 14:51
使用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下编译
- 开始菜单启动Visual Studio 2015的vs2015 开发人员命令行提示,然后转到boost根文件夹,运行bootstrap.bat生成b2.exe。
- 运行命令: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
- boost裁剪和编译
- Android内核编译和裁剪
- Android内核编译和裁剪
- FBAlpha编译和裁剪笔记
- Boost编译和安装
- boost 编译和使用
- boost 编译和使用
- 安装和编译boost
- boost 1.47和boost 1.52 编译
- Boost - windows下编译boost和提取boost子集
- boost 的安装和编译
- 编译安装STLport和Boost
- Boost+codeblocks编译和编程
- 【boost】编译和使用简介
- Boost.python 编译和使用
- mingw编译thrif和boost
- Boost-Windows安装和编译
- VS2017 boost编译和用法
- 操作系统:用户编程接口(概念)
- 如何写好一个UITableView(完整版)
- 计时器
- Delphi“尚未调用CoInitialize”解决方法
- IOS开发 强制横屏
- boost裁剪和编译
- 动态拆分时间段并插入数据到网格部件
- Oracle数据库基础
- CSS 绝对定位与相对定位
- 合并模拟器Framework与真机Framework
- 创建线程的两种方法
- mac 删除文件夹里所有的.svn文件
- Linux安装Redis
- int 转 string