- 1. 下载boost
从boost官网( http://www.boost.org )上下载最新的boost版本,现在最新是1.64版本,解压到自定义目录(我解压到了E盘E:\boost_1_64_0\,最终的目录结构是E:\boost_1_64_0\boost_1_64_0)
- 2. 编译安装
在E:\boost_1_64_0\boost_1_64_0目录下,有一个bootstrap.bat文件,直接双击运行。就会在同目录生成b2.exe;bjam.exe两个文件。
点击开始->所有程序->“Microsoft Visual Studio 2010”,指向“Visual Studio tools(工具)”,然后单击“Visual Studio 2010 command prompt(命令提示)” 使用cd切换到E:\boost_1_64_0\boost_1_64_0目录。
然后输入如下的代码:bjam install --toolset=msvc-10.0 architecture=x86 address-model=64 --build-type=complete --prefix="E:\boost_1_64_0\boost_1_64_0\bin \vc10_x64" link=static runtime-link=shared threading=multi debug release
解释一下命令的意思:
- bjam: 编译工具;
- install/stage:stage表示只生成库文件(DLL和Lib),install还会生成包含头文件的include目录;
- toolset:表示编译器工具,我安装的是VS2010,所以是msvc-10(如果你是VS2005,可以使用msvc-8.0 VS2008是msvc-9.0);
- architecture:表示架构,也就是你的CPU架构x86;
- address-model:表示地址长度,32/64
- build-type: complete表示全部编译;
- prefix:但是使用install时,表示安装目录,当使用stage时,是:--stage="xxx",表示输入库路径;
- link:表示生成动态/静态链接库,动态链接库是shared,静态链接库是static,一般都会编译成静态库,因为给出程序的时候打包boost的库会非常庞大;
- runtime-link:shared/static, 表示动态/静态链接C/C++运行时库(C/C++ Runtime),我们选择了动态链接;
- threading:表示单/多线程编译,一般我们的程序都会用到多线程,所以选择了multi;
- debug release:表示生成debug和release库;
- without/with:表示不需要编译/需要编译哪些库,一些自己不用的库可以无需编译;
- 3. 配置VS2010
新建工程后需要把Boost库包含到工程中,右键选择属性,在VC++目录的“包含目录”中添加Boost的根目录,在“库目录”添加刚刚编译生成的位置再加上路径lib。
#include <boost/thread/thread.hpp>
#include <iostream>
void
hello
(
) {
std
::
cout
<<
"Hello world, I'm a thread!"
<<
std
::
endl
;
}
int
main
(
int
argc
,
char
*
argv
[
]
) {
boost
::
thread
thrd
(
&hello
)
;
thrd
.
join
(
)
;
return
0
;
}