如何在Visual Studio 中使用C++“准”标准库 Boost 1.49.0

时间:2024-03-28 12:29:13

此文章转载自:http://blog.csdn.net/fanic1993/article/details/7532848

关于Boost的盛名我就不多费口舌了,它是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。 Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已经有好几千人了。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

笔者写本文时,最新版的Boost库是2010年8月13日发布的1.44.0,到这个版本,Boost已经很完备了,是C++标准库的很好的补充和加强。本文和大家一起看一下如何在VS2010中使用Boost库。

1. 下载并“安装”Boost库

首先,在Boost项目首页 http://www.boost.org/ 找到下载页面,http://sourceforge.net/projects/boost/files/boost/1.44.0/,下载其中的boost 1.44.0 版下的 .zip 或 .7z文件,解压后放到易找的一个硬盘根目录下,我解压后放置的目录结构是:

D:\boost\boost_1_44_0\

boost_1_44_0这个目录就是boost库的主目录($BOOST_ROOT),它的详细结构如下:

boost_1_44_0\ .................The “boost root directory”
index.htm .........A copy of www.boost.org starts here
boost\ .........................All Boost Header files
lib\ .....................precompiled library binaries
libs\ ............Tests, .cpps, docs, etc., by library
index.html ........Library documentation starts here
algorithm\
any\
array\
…more libraries…
status\ .........................Boost-wide test suite
tools\ ...........Utilities, e.g. bjam, quickbook, bcp
more\ ..........................Policy documents, etc.
doc\ ...............A subset of all Boost library docs


那么,如何在VC2010的项目中使用boost库呢?说白了,就是让VC2010的项目在编程连接项目的时候,能找到引用的boost库文件。
思路很明显,那就先新建一个C++项目吧

2. 新建并设置boost项目

打开VS2010,新建Visual C++项目,选择其中的 Win32 Console Application (Win32控制台应用程序),建立完成后,右击右侧项目管理器里的项目,打开项目属性对话框。

项目属性对话框里,左侧选择 VC++ Directories,把刚刚的 D:\boost\boost_1_44_0\ 添加到 Include Directories中。

如何在Visual Studio 2010中使用C++“准”标准库 Boost 1.49.0

如何在Visual Studio 2010中使用C++“准”标准库 Boost 1.49.0

像上面,设置完boost库的位置后,项目中就可以直接引用boost库文件了,如

  1. #include <boost/lambda/lambda.hpp>
复制代码
3. 编写一个简单的引用boost库的C++程序

在刚刚的项目中,我们添加一个 C++ File (.cpp),其中输入如下代码:

[cpp] view plain copy
  1. #include <boost/lambda/lambda.hpp>  
  2. #include <iostream>  
  3. #include <iterator>  
  4. #include <algorithm>  
  5.   
  6. int main()  
  7. {  
  8. using namespace boost::lambda;  
  9. typedef std::istream_iterator<int> in;  
  10.   
  11. std::for_each(  
  12. in(std::cin), in(), std::cout << (_1 * 3) << " " );  
  13. }  


直接Build并运行之就可以了,看,是不是很简单啊 如何在Visual Studio 2010中使用C++“准”标准库 Boost 1.49.0