1 简介

boost是一个准C++标准库,相当于STL的延续和扩充,它的设计理念和STL比较接近,都是利用泛型让复用达到最大化。 boost主要包含以下几个大类: 字符串及文本处理、容器、迭代器(iterator)、算法、函数对象和高阶编程、泛型编程、 模板元编程、预处理元编程、并发编程、数学相关、纠错和测试、数据结构、输入/输出、跨语言支持、内存相关、语法分析、杂项

编辑

2 boost的下载和安装

我们可以在 boost官网 上下载最新的boost版本。由于boost库可以像标准库一样在多个平台上运行 ,因此官方上只以源码的形式提供。对于windows用户我们往往想直接下载一个安装组件直接安装而不是自己编译,我们可以在 这个网站 上直接下载对应的安装组件, 下面我们就以这个网站为例介绍安装组件的下载。

1. 打开网站,其界面显示如下:

2. 目前稳定的版本是1.63因此这里我下载1.63版本。一般正在更新的开源软件都会有一个最新版本和稳定版本, 如果我们不是在开发的话选择稳定版本即可。选择 *1.63.0* 之后,我们可用看到文件列表如下:

3. 我们可以看到这里有许多的安装文件。这是因为 boost windows的安装版本不但和处理器位数有关, 而且还和visio studio的版本有关 。这里我们先将 DEPENDENCY_VERSIONS.txt 文件下载下来并查看, 可以发现其中有一段说明如下:

Microsoft Visual Studio 2005 - msvc-8.0 - Service Pack 1
Microsoft Visual Studio 2008 - msvc-9.0 - Service Pack 1
Microsoft Visual Studio 2010 - msvc-10.0 - Service Pack 1
Microsoft Visual Studio 2012 - msvc-11.0 - Update 4
Microsoft Visual Studio 2013 - msvc-12.0 - Update 3

4. 比如这里我们使用的是VS2012。那么我们就应该下载 boost_1_63_0-msvc-11.0-64.exe 或者
boost_1_63_0-msvc-11.0-32.exe 。下载完毕之后根据提示按步骤安装即可。

编辑

3 boost的使用

关于boost的使用当然首先推荐 官方文档
当然也可以参考后面提到的 本文主要的参考帖子。下面以官网下载的源文件版boost为例简单介绍一些官网的入门例程。
这个例程在boost文件夹中的 index.html 也能找到。

1. 首先在visio studio中新建一个空的C++项目,这里将项目的名字命名为 boostTest ,然后添加一个源文件包含以下内容:

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
 
int main()
{
using namespace boost::lambda;
typedef std::istream_iterator<int> in;
 
std::for_each(
in(std::cin), in(), std::cout << (_1 * 3) << " " );
}

2. 工程建立完毕后,我们需要添加对应头文件的搜索路径,具体步骤如下:

* 在解决方案资源管理器中选中我们的项目( boostTest ),右键点击在弹出的菜单中选择 属性(R) , 或者直接使用快捷键 Alt+Enter 调出属性对话框。

* 在对话框左侧面板中依次选择 配置属性→C/C++→常规 ,在右侧面板中的 附加包含目录 中添加我们的boost所在目录, 如下图所示(这里是以VS2015为例进行配置,其他版本的VS显示可能略有不同):

* 然后再选择左侧面板中 配置属性→C/C++→预编译头 ,在右侧面板中将 预编译头 设置为 不适用预编译头 (默认),如下图所示:

* 配置完毕后,我们就可以编译( Ctrl+Shift+B )并运行( F5 )我们的程序了, 如果出现错误可以再重新检查一遍配置过程或者查看boost文件夹中的 index.html 对应章节。运行结果如下 (在控制台输入 1 2 3 返回对应的×2结果):

本文主要的参考帖子:
C++ Boost库简介
初识Boost C++

boost的下载和安装(windows版)的更多相关文章

  1. Redis 下载与安装(Windows版)

    下载 1.Github下载地址:https://github.com/MicrosoftArchive/redis/releases 2.百度网盘下载地址:Redis-x64-3.2.100.zip  ...

  2. Redis下载及安装(windows版)

    下载地址1.Github下载地址:https://github.com/MicrosoftArchive/redis/releases2.百度网盘下载地址 https://pan.baidu.com/ ...

  3. Xamarin.Forms教程下载安装Windows版的Xamarin开发工具

    Xamarin.Forms教程下载安装Windows版的Xamarin开发工具 下载安装Windows版的Xamarin开发工具 本节将讲解如何下载并安装Windows版的Xamarin开发工具. 下 ...

  4. ANT下载与安装--windows

    原文:ANT下载与安装--windows 1.下载地址 http://ant.apache.org/bindownload.cgi: 2.版本信息 1.10.2 .zip archive  对应jdk ...

  5. CrossOver for Mac v18.5 中文破解版下载-可以安装Windows软件

    CrossOver for Mac v18.5 中文破解版: http://h5ip.cn/kADD Crossover Mac 破解版是Mac 和 Windows 系统之间的兼容工具.使 Mac 操 ...

  6. Redis&PHP的使用安装-windows版

    Redis是一个Key-value的数据结构存储系统,可以以数据库的形式,缓存系统,消息处理器使用,它支持的存储value类型很多,例如,string.list(链表).set(集合).zset(so ...

  7. Apktool下载与安装 windows环境

    Apktool 下载与安装 百度网盘地址:https://pan.baidu.com/s/1slQBMOl  (apktool 2.2.4版本) 更多版本可以从官网https://ibotpeache ...

  8. Java 反编译工具 —— JAD 的下载地址(Windows版/Linux版/Mac OS 版)

    Java 反编译工具 —— JAD 的下载地址. 各种版本哦! Windows版,Linux版,Mac OS 版,等等 下载地址: http://varaneckas.com/jad/

  9. mysql下载和安装Windows服务

    一.下载mysql:https://dev.mysql.com/downloads/mysql/,解压拷贝到D:\software\mysql-8.0.13-winx64 二.在D:\software ...

随机推荐

  1. sql server 作业收缩数据库

    USE[master] GO ALTER DATABASE PayFlow2 SET RECOVERY SIMPLE WITH NO_WAIT GO ALTER DATABASE PayFlow2 S ...

  2. 【C++】 多态的实现和原理

    本文转自 https://www.cnblogs.com/cxq0017/p/6074247.html 安利一篇blog,https://blog.csdn.net/u013982161/articl ...

  3. mysql识别中文

    在配置的INI中加上这些 [mysql]default-character-set=utf8no-auto-rehash# Remove the next comment character if y ...

  4. 滑雪(dp)

    问题 H: [例9.24]滑雪 时间限制: 1 Sec  内存限制: 128 MB提交: 21  解决: 13 题目描述 小明喜欢滑雪,因为滑雪的确很刺激,可是为了获得速度,滑的区域必须向下倾斜,当小 ...

  5. [UE4]Spacer

    一.Spacer:留白占位控件 二.如下图所示,如果想要2个按钮都在容器右对齐: 三.可以放一个Spacer到最左边,设置成Fill,Spacer控件就是起到占位的作用.  

  6. Northwind学习笔记

    一.单表查询 --1.查询订购日期在1996年7月1日至1996年7月15日之间的订单的订购日期.订单ID.客户ID和雇员ID等字段的值 SELECT OrderID , CustomerID , E ...

  7. html常见的块元素和行内元素(特别注意个别块元素不能嵌套其他块元素)

    html中常见的块元素:div.p.h1-h6.ul.ol.li.hr.table.pre等 块级元素新开启一行即使是设置了width属性也是独占一行(可设置float浮动属性调整布局).尽可能撑满父 ...

  8. JavaScript学习-3——数组、函数、递归

    本章目录 -----------①数组 -----------②函数 -----------③递归 一.数组 弱类型:任何类型数据,且没有强度限制: 强类型:同一类型的数据存储的集合(内存中连续存储) ...

  9. c++符号常量:limits头文件

    CHAR_BIT char的位数 CHAR_MAX char的最大值 CHAR_MIN char的最小值 SCHAR_MAX signed char的最大值 SCHR_MIN signedchar的最 ...

  10. get_time

    def get_current_time(): #将python的datetime转换为unix时间戳 dtime = datetime.datetime.now() un_time = time.m ...