VS2010 编译安装boost库

实践是最好的办法。。学习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

时间: 2024-12-22 22:42:11

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

centos单独编译安装gd库

这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没有安装gd库.如下: 目前服务器的环境是nginx+php-fpm,php使用源码最小化安装,所以就没有安装gd库.尽管没有安装gd库,但是我们还是可以通过单独编译安装gd库. 下面我们就开始来介绍如何给已经编译好的php环境安装gd库.gd库的安装分以下几个步骤: 1.gd库是什么 2.安装libpng 3.安装freetype 4.安装jpe

centos服务器中如何单独编译安装gd库

这几天一直在弄一个商城系统,该系统的源码及数据库都已经上传并创建完毕.但是在安装该系统时,却提示缺少gd库.如下: 使用php探针查看,发现php确实没有安装gd库.如下: 目前服务器的环境是nginx+php-fpm,php使用源码最小化安装,所以就没有安装gd库.尽管没有安装gd库,但是我们还是可以通过单独编译安装gd库. 下面我们就开始来介绍如何给已经编译好的php环境安装gd库.gd库的安装分以下几个步骤: 1.gd库是什么 2.安装libpng 3.安装freetype 4.安装jpe

Win7+vs2010下安装boost_1_46_1库

一.boost库分类: (1)不需要编译库:any.array.asio.conversion.crc.bind/mem_fn.enable_if.function.lambda.mpl.smart_ptr... (2)需要编译的库:date_time.filesystem.function_types.graph.iostreams.math.mpi.program_options.python.regex.serialization.signals.system.test.thread.wa

vs2010 boost库 c2039-vs2010在调用boost库时出现以下错误 c2039

问题描述 vs2010在调用boost库时出现以下错误 c2039 f:项目参考资料steganalysis2_spamspam_windowssrcspam.cpp(177): error C2039: "leaf": 不是"boost::filesystem::directory_entry"的成员 1> f:softwarevs2010相关库oost_1_58_0oostfilesystemoperations.hpp(684) : 参见"bo

Boost库在Windows平台下的编译

最近正在学习Boost库,过一久要用它来进行一些跨平台的开发:使用thread线程库来开发多线程 的程序(就是我的那个CodingWar项目:-P),所以自己动手进行了下面的Boost配置编译工作. 一.编译前的准备 我的VC++2005安装在"D:\Microsoft Visual Studio 8\VC"目录:下载boost库后解压, 根目录为:"D:\C_C++\boost_1_33_1",可参考改为相应的目录即可. 二.编译步骤 1.执行:"D:\

VS2008下直接安装使用Boost库1.46.1版本

 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C++社区中影响甚大,是不折不扣的"准"标准库. Boost由于其对跨平台的强调,对标准C++的强调,与编写平台无关.大部分boost库功能的使用只需包括相应头文件即可,少数(如正则表达式库,文件系统库等)需要链接库.但Boost中也有很多是实验性质的东西,在实际的开发中实用需要谨慎.boos

在VS中使用Boost库出现Macro redefinition错误如何解决

最近使用Boost库做多线程开发,可视在vs中编译工程师总是遇到Macro redefinition错误,类似下面的错误描述 1>c:\program files (x86)\microsoft visual studio 10.0\vc\include\stdint.h(116): warning C4005: 'INT8_C' : macro redefinition 1>         c:\vc\include\boost\cstdint.hpp(376) : see previou

编译安装MySQL8.0

操作系统说明:CentOS 6.4 数据库版本:MySQL 8.0.0 一.环境准备 yum install ncurses-devel -y yum install libaio -y yum install glibc-devel.i686 glibc-devel -y yum install gcc gcc-c++ -y 另外,MySQL8.0需要用gcc的版本为 4.8以上,而centos 6.4通过yum只能安装到4.4.7,所以在安装mysql8.0之前需要手动安装更高版本的gcc,

Centos6.4编译安装mysql 8.0.0 详细教程_Mysql

本文实例为大家分享了Centos6.4编译mysql  8.0.0 安装配置方法,供大家参考,具体内容如下 操作系统说明:CentOS 6.4数据库版本:MySQL 8.0.0 一.环境准备 yum install ncurses-devel -y yum install libaio -y yum install glibc-devel.i686 glibc-devel -y yum install gcc gcc-c++ -y 另外,MySQL8.0需要用gcc的版本为 4.8以上,而cen