boost-库编译和使用-001

 

  • 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

解释一下命令的意思:

  1. bjam: 编译工具;
  2. install/stage:stage表示只生成库文件(DLL和Lib),install还会生成包含头文件的include目录;
  3. toolset:表示编译器工具,我安装的是VS2010,所以是msvc-10(如果你是VS2005,可以使用msvc-8.0 VS2008是msvc-9.0);
  4. architecture:表示架构,也就是你的CPU架构x86;
  5. address-model:表示地址长度,32/64
  6. build-type: complete表示全部编译;
  7. prefix:但是使用install时,表示安装目录,当使用stage时,是:--stage="xxx",表示输入库路径;
  8. link:表示生成动态/静态链接库,动态链接库是shared,静态链接库是static,一般都会编译成静态库,因为给出程序的时候打包boost的库会非常庞大;
  9. runtime-link:shared/static, 表示动态/静态链接C/C++运行时库(C/C++ Runtime),我们选择了动态链接;
  10. threading:表示单/多线程编译,一般我们的程序都会用到多线程,所以选择了multi;
  11. debug release:表示生成debug和release库;
  12. 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 ;
}

                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值