Boost.Build

Boost.Build makes it easy to build C++ projects, everywhere.

Boost.Build让构建C++项目在任何地方都很容易。

You name your executables and libraries and list their sources. Boost.Build takes care about compiling your sources with right options, creating static and shared libraries, making executables, and other chores — whether you’re using gcc, msvc, or a dozen more supported C++ compilers — on Windows, OSX, Linux and commercial UNIX systems.

我们只需要命名可执行文件(库),并列出它们的源代码。Boost.Build负责在Windows、OSX、Linux和商业UNIX系统上使用正确的选项编译源代码、创建静态和共享库、创建可执行程序,以及其他一些繁琐的工作 — 不管是使用gcc、msvc还是其他十几个受支持的c++编译器。

  • Simple and high level build description. In most cases a name of target and list of sources is all you need.

  • 简单和高层次的构建描述。在大多数情况下,只需要目标名称和源列表。

  • Portability. Most important build properties have symbolic names that work everywhere. Why memorize compiler flags necessary for multi-threaded 64-bit shared library, if Boost.Build can do it for you?

  • 可移植性。最重要的构建属性都有符号名,这些符号名在任何地方都适用。如果Boost.Build能够代劳,为什么要记住多线程64位共享库所需的编译器标志呢?

  • Variant builds. When you build the same project twice with different properties, all produced files are placed in different directories, so you can build with 2 versions of gcc, or both debug and release variants in one invocation.

  • 多版本构建。当您使用不同的属性两次构建相同的项目时,所有生成的文件都放在不同的目录中,因此您可以使用gcc的两个版本进行构建,或者在一次调用中同时构建调试和发行版。

  • Global dependencies. No matter what directory you build in, Boost.Build will always check all dependencies in your entire project, preventing inconsistent binaries. And it’s easy to use one Boost.Build project in other, again with full dependency tracking.

  • 全局依赖关系。无论在哪个目录中构建,Boost.Build都会检查整个项目中的所有依赖项,防止不一致的二进制文件。而且在其他项目中使用一个Boost.Build项目也很容易,同样也具有完全的依赖性跟踪。

  • Usage requirements. A target can specify properties, like include paths and preprocessor defines, that are necessary to use it. Those properties will be automatically applied whenever the target is used.

  • 按需使用。目标可以指定需要使用的属性, 比如包含路径和预处理器定义。这些属性将在使用目标时自动应用。

Boost.Build特点(译)的更多相关文章

  1. Boost.Build 简明教程

    Boost.Build 简明教程 目录1. 介绍2. 构建过程3. 基本任务4. 项目管理5. 最佳实践6. 规则参考7. 特征参考 介绍 编译器和平台无关编译系统Boost.Build是一个高级编译 ...

  2. Boost 和 Boost.Build 的设置

    问题: 安装编译完 Boost 后,如果不设置 BOOST_ROOT 和 BOOST_BUILD_PATH 则可能导致使用 bjam 时定位到 Boost 默认的路径 /usr/share/boost ...

  3. Boost Build

    Window XP + Visual Studio 2008 获取Boost库源码 我们可以从http://www.boost.org/ 上获取boost的源代码.当前最新版本为1.45.0. 解压到 ...

  4. [boost] build boost with intel compiler 16.0.XXX

    Introduction There are few information about how to compile boost with Intel compiler. This article ...

  5. <转>boost 1.53 and STLPort build binary for windows

      1.编译STLPort:    1.1 .开始菜单运行vs2008的命令行工具    1.2.进入E:\00.CODE.SDK\STLport-5.2.1\    1.2.运行configure ...

  6. Boost(1.69.0) windows入门(译)

    目录 Boost windows入门 1. 获得Boost源代码 2. Boost源代码组织 The Boost Distribution 3. 仅用头文件的库 Header-Only Librari ...

  7. VC++2010下编译STLport,Boost

    VC++2010下编译STLport,Boost 最近在想向Boost转移,努力掌握Boost代码的过程中, STLport版本:5.2.1 Boost版本:1.4.6.1 (1.4.7.0也OK) ...

  8. Linux下Boost交叉编译

    http://davidlwq.iteye.com/blog/1580752 运行环境:ubuntu 12.04, boost 1.50.0 由于要把boost移植到arm板上去,所以折腾了一下,后来 ...

  9. Using Boost Libraries in Windows Store and Phone Applications

    Using Boost Libraries in Windows Store and Phone Applications RATE THIS Steven Gates 18 Jul 2014 5:3 ...

随机推荐

  1. Linux学习笔记(六) 进程管理

    1.进程基础 当输入一个命令时,shell 会同时启动一个进程,这种任务与进程分离的方式是 Linux 系统上重要的概念 每个执行的任务都称为进程,在每个进程启动时,系统都会给它指定一个唯一的 ID, ...

  2. Python习题之列表排序,4种方法

    def sort_list_method_1(a): return sorted(a) print(sort_list_method_1([1, 4, 2])) def sort_list_metho ...

  3. LINUX应用开发工程师职位(含答案)

    就业模拟测试题-LINUX应用开发工程师职位 本试卷从考试酷examcoo网站导出,文件格式为mht,请用WORD/WPS打开,并另存为doc/docx格式后再使用 试卷编号:143989试卷录入者: ...

  4. 【Codeforces 375A】Divisible by Seven

    [链接] 我是链接,点我呀:) [题意] 让你把一个包含数字1,6,8,9的数字重新组合,使得组合成的数字能被7整除 [题解] 我们先提取出来1,6,8,9各1个 然后把剩余的len-4个数字除了0之 ...

  5. poj 1379 模拟退火法

    /* 模拟退火法: 找到一些随机点,从这些点出发,随机的方向坐标向外搜索: 最后找到这些随机点的最大值: 坑://if(xx>-eps&&xx<x+eps&& ...

  6. bzoj4518征途 斜率优化

    征途这是一道十分经典的斜率优化 我们可以从题目中的方差来想,也就很容易的到这个式子 \[ans=m^2*\frac{\sum_{i=1}^{m}{(x_i-{\overline{x}})^2}}{m} ...

  7. Linux下汇编语言学习笔记80 ---

    这是17年暑假学习Linux汇编语言的笔记记录,参考书目为清华大学出版社 Jeff Duntemann著 梁晓辉译<汇编语言基于Linux环境>的书,喜欢看原版书的同学可以看<Ass ...

  8. GRANT 授权

    sys(管理员)身份登录.创建usernamezsta_new create user zsta_new   identified by password   default tablespace Z ...

  9. Struts2框架复习(一)--最基本的struts2框架

    前言 最近离职在家,发现之前学习的Struts2框架由于长时间不使用有点生疏,有鉴于此写下此文以备自己复习使用,同时也供大家批评指正. 准备工作 我觉得Struts2主要就是对Servlet的封装,还 ...

  10. 怎样对Android设备进行网络抓包

    问题描写叙述: 前段时间自己的app訪问server的url总是会出现间接性失败的问题,于是和server的同事开了个会.提出了他们server存在的这个bug,我的同事自然说自己的server没问题 ...