实践是最好的办法。。学习C++,想试试线程,然后打算用boost库,结果boost库编译差点吓到我。。没看到比较完整的安装教程。。一直耽搁。今天动手。完成了。方法记录如下:
1.下载boost
从boost官网( http://www.boost.org )上下载最新的boost版本,现在最新是1.49版本,解压到自定义目录(我解压到了D:/program files,最终的目录结构是D:\Program Files\boost_1_49_0)

2.编译安装

在D:\Program Files\boost_1_49_0的目录下,有一个bootstrap.bat文件,直接双击运行。就会在同目录生成b2.exe;bjam.exe两个文件。

3.设定编译环境
修改user-config.jam (D:\Program Files\boost_1_49_0\tools\build\v2\user-config.jam) 的MSVC configuration
# MSVC configuration
# Configure msvc (default version, searched for in standard locations and PATH).
# using msvc ;
在上面这段的下面直接添加如下的文字。

 
1
using msvc:10.0::/wd4819/D_CRT_SECURE_NO_DEPRECATE/D_SCL_SECURE_NO_DEPRECATE/D_SECURE_SCL=0;

保存关闭。

4.开始编译
点击开始->所有程序->“Microsoft Visual Studio 2010”,指向“Visual Studio tools(工具)”,然后单击“Visual Studio 2010 command prompt(命令提示)” 使用cd切换到D:\Program Files\boost_1_49_0目录。这个就不说了
然后输入如下的代码:

 
1
2
3
b2 toolset=msvc-10.0architecture=x86 instruction-set=i686 address-model=32link=static
variant=debug,release threading=multi runtime-link=shared--without-python--without-mpi
--without-wave--without-graph--without-math--without-serialization stage

解释一下命令的意思:
1.toolset:表示编译器工具,我安装的是VS2010,所以是msvc-10(如果你是VS2005,可以使用msvc-8.0 VS2008是msvc-9.0)
2.architecture:表示架构,也就是你的CPU架构,x86,x64,因为我安装的是win7 32位,所以使用了x86的架构
3.instruction-set:表示指令集,依然是8086指令集
4.address-model:表示地址长度为32位
5.link:表示生成动态/静态链接库,动态链接库是shared,静态链接库是static,一般都会编译成静态库,因为给出程序的时候打包boost的库会非常庞大
6.variant:表示生成的Debug或者release版本,一般情况下会两种版本都会编译出来的
7.threading:表示单/多线程编译,一般我们的程序都会用到多线程,所以选择了multi
8.runtime-link:表示动态/静态链接C/C++运行时库(C/C++ Runtime),我们选择了动态链接
9.without/with:表示不需要编译/需要编译哪些库,一些自己不用的库可以无需编译
10.stage/install:stage表示只生成库文件(DLL和Lib),install还会生成包含头文件的include目录,推荐使用stage,因为boost_1_49\boost中就是boost库完整的头文件,所以无需再拷贝一份出来。编译出来的库会放在stage文件夹中
这样一份完整的boost库就生成了,剩下就是直接使用到项目中了。

其实编译的具体命令都是可以自己写的。如果你需要编译所有。只需要使用下面的这行代码
b2 –toolset=msvc-10.0 –build-type=complete
就可以了。

不出问题的话。就开始编译了。。登个半个多小时吧。就会完成了。
5.设置vs
打开vs,新建一个工程。然后工程属性。配置属性->C/C++ ,附加包含目录
填上
D:\Program Files\boost_1_49_0;%(AdditionalIncludeDirectories)
这个是最终的结果,你也可以手动添加

在左侧选择链接器->附加库目录,填上
D:\Program Files\boost_1_49_0\stage\lib;%(AdditionalLibraryDirectories)
就可以了。

6.测试
在你新建的工程里输入如下的代码。运行成功就说明可以了

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <boost/thread/thread.hpp>
#include <iostream>
 
voidhello()
{
        std::cout<<
        "Hello world, I'm a thread!"
        <<std::endl;
}
 
intmain(intargc,char*argv[])
{
        boost::threadthrd(&hello);
        thrd.join();
        return0;
}

参考:
http://www.cppfans.org/1317.html
http://www.cnblogs.com/ComputerG/archive/2011/03/10/1979730.html
http://www.cppblog.com/shaker/archive/2011/11/30/33583.html

VS2010 编译安装boost库的更多相关文章

  1. linux下编译安装boost库

    linux下编译安装boost库 linux下编译安装boost库 1.下载并解压boost 1.58 源代码 下载 解压 2.运行bootstrap.sh 3.使用b2进行构建 构建成功的提示 4. ...

  2. VS2010下安装boost库

    在我们的C++项目中安装boost库,下面以VS2010版本作为例子,其它版本的设置也差不多. 一.编译生成boost库 1.下载最新的boost(本人下载的是boost_1_56_0).boost官 ...

  3. VS 2010 编译安装 boost 库 -(和 jsoncpp 库共存)

    boost库的简单应用很容易,网上有很多资料,但是,如果要json 和 boost 一起使用就会出现这样那样的问题, 有时候提示找不到 “libboost_coroutine-vc100-mt-sgd ...

  4. windows下编译和安装boost库

    boost是一个功能强大.构造精巧.跨平台.开源并且完全免费的C++程序库. 获取方式 boost提供源码形式的安装包,可以从boost官方网站下载,目前最新版本是1.59.0. 本机上正好有boos ...

  5. [转]Linux编译和安装boost库

    1. 下载boost安装包并解压缩 到http://www.boost.org/下载boost的安装包,以boost_1_58_0.tar.gz为例 下载完成后进行解压缩: tar zxvf boos ...

  6. Ubuntu 14.04 编译安装 boost 1.58

    简介 Boost is a set of libraries for the C++ programming language that provide support for tasks and s ...

  7. VS2008下直接安装Boost库1.46.1版本号

    Boost图书馆是一个移植.提供源代码C++库.作为一个备份标准库,这是C++发动机之间的一种标准化的过程. Boost图书馆由C++图书馆标准委员会工作组成员发起,一些内容有望成为下一代C++标准库 ...

  8. 树莓派上安装boost库

    一.安装boost库 sudo apt-get install libboost-dev aptitude search boost 二.编写测试代码 #include <iostream> ...

  9. 在RedHat 7.2中安装boost库

    在RedHat 7.2中安装boost库 环境,其它版本类似 Redhat7.2 64bit boost 1.64.0 步骤 去 boost官网 下载想要版本的.tar.gz,如下图 解压tar -v ...

随机推荐

  1. Cesium 获取当前视图范围

    Cesium作为一个开源的WebGlobe解决方案已经很牛了,不过因为开发的资料不多,很多功能不知道怎么实现.下面记录下自己获取Cesium当前场景范围的方法(2维中对应的是extent). exte ...

  2. POJ 1861 Network (模版kruskal算法)

    Network Time Limit: 1000MS Memory Limit: 30000K Total Submissions: Accepted: Special Judge Descripti ...

  3. 修复ubuntu播放wmv等视频没有声音问题

    1. Mplayer or SMplayer 1.1 原因: 很可能是你没有安装 w32codes 1.2 解决方法: (1)下载 w32codes 官方站点 all-20110131.tar.bz2 ...

  4. sencha touch(7)——list组件

    1.list组件是一个很强大的组件.用于以一览表的形式或者列表的形式展示应用程序中的大量的数据.该组件使用XTemplate模版来显示数据,同时与数据仓库进行绑定.所以当数据仓库中的数据发生变化的时候 ...

  5. SQL Server 基础 03 查询数据基础

    查询数据 简单的查询 create table stu_info ( sno int not null ,sname ) not null ,sex ) not null ,birth ) not n ...

  6. javascript笔记整理(运算符 )

    1.运算符和操作数的组合就称为表达式. 2.算术运算符(+ - * / % a++ a-- --a ++a) a.+ 1.用于数值计算:var a=1;var b=2;alert(a+b)===3 2 ...

  7. Troubleshooting:oVirt-engine

    问题:执行./create_db_devel.sh -u postgres创建数据库时出错 描述: [root@localhost dbscripts]# ./create_db_devel.sh - ...

  8. 『WPF』DataGrid的使用

    原文 『WPF』DataGrid的使用 几点说明 这里主要是参考了MSDN中关于DataGrid的说明 这里只会简单说明在WPF中,DataGird最简单的使用方法 对于MSDN中的翻译不会很详细,也 ...

  9. 它们偷偷干了啥?教你监督APP的运行

    由于Android系统的开放性,很多APP都会在后台运行各种我们不知道的权限,不仅泄露我们隐私,也给系统本身带来极大安全隐患.而且现在很普遍的是,在安装APP时它总会索取特别多的权限,又是拍照又是地理 ...

  10. ./ . 和#!/bin/bash 辨析Linux如何选择当前执行脚本的shell

    最近遇到一个有趣的问题,让我搞清楚Linux如何选择当前执行脚本的shell 执行cts的的 media stress test 需要安装 android-cts-media-1.0.zip 把这个文 ...