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. Python的/整除

    在python3和python2里,正整数的/结果是一样的,但是负数的整除却有区别 比如python3中,-1/2是等于0的,c/c++的结果也是这样, 但在python2中,-1/2确是-1,想要得 ...

  2. 九度oj 题目1049:字符串去特定字符

    题目1049:字符串去特定字符 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:10173 解决:4611 题目描述: 输入字符串s和字符c,要求去掉s中所有的c字符,并输出结果. 输入: ...

  3. [luoguP3690] 【模板】Link Cut Tree

    传送门 处理路径 xor 和的时候可以维护子树 xor 和,先提取出路径,再把一个点 splay 到最上方,直接取子树 xor 和即可. 更新一个点权时可以先提取出根到这个点的路径,把这个点 spla ...

  4. [luoguP2858] [USACO06FEB]奶牛零食Treats for the Cows(DP)

    传送门 f[i][j][k] 表示 左右两段取到 i .... j 时,取 k 次的最优解 可以优化 k 其实等于 n - j + i 则 f[i][j] = max(f[i + 1][j] + a[ ...

  5. JS动态添加div,然后在div中添加元素

    需求: 组织部中有个这样的需求,根据年份动态显示该年份下的定性指标! 我的做法: 先是放一个空的div,让后根据指标的数据,动态的往div中添加元素. 代码: 空的div,存放定性指标 <div ...

  6. Minimum Sum LCM(uva 10791)

    题意(就是因为读错题意而wa了一次):给一个数字n,范围在[1,2^23-1],这个n是一系列数字的最小公倍数,这一系列数字的个数至少为2 例如12,是1和12的最小公倍数,是3和4的最小公倍数,是1 ...

  7. hust 1017

    题意:求01矩阵的精确覆盖. 分析:本来想学习dancing links来解决数独问题,发现dancing links最初解决的问题是精确覆盖,于是就找到这道题来做了.这种NPC问题只能用DFS暴搜的 ...

  8. 这个贴子的内容值得好好学习--实例详解Django的 select_related 和 prefetch_related 函数对 QuerySet 查询的优化

    感觉要DJANGO用得好,ORM必须要学好,不管理是内置的,还是第三方的ORM. 最最后还是要到SQL.....:( 这一关,慢慢练啦.. 实例详解Django的 select_related 和 p ...

  9. HDU——1215 七夕节

    暴力枚举....(正解好像不是这样...) 代码: #include<cstdio> #include<cstdlib> #include<cstring> #in ...

  10. java String长度与varchar长度匹配理解(字符和字节长度理解)

    java String长度与varchar长度匹配理解(字符和字节长度理解) string中的length()长度,返回的是char的数量,每个char可以存储世界上任何类型的文字和字符,一个char ...