您的位置:首页 > 其它

windows下用cmake编译安装boost1.40

2010-10-30 21:19 489 查看
之前写过一篇《linux下用cmake编译安装boost1.40 》的文章,现在补充一下,写一篇windows下编译boost1.40的文章先,呵呵!



网上搜一下编译使用boost的文章,很多的办法都是如下几个:

1、下载boost安装器,这样可以在线下载并安装,一条龙服务。其缺点是要连上网络,并且要下载很多库。

2、直接在vc中指定头文件路径和库路径,这些路径都是指定到源代码中的头文件路径和库文件路径中。其缺点是有些库必须要编译才可使用。

3、使用bjam来安装和使用boost库。



下面我使用另外一种方法来编译boost,就像文章《linux下用cmake编译安装安装boost1.40 》里说的那样,在linux下用cmake来生成Makefile,然后在编译安装,其实我们在windows下也可以使用cmake来编译安装。cmake是一个跨平台的一个类似于qmake 的生成Makefile的东东:)。



首先:现在cmake ,现在已经有了2.8版本了。然后就点击安装,记得要选用环境变量。

第2:就下载boost1.40 库了,把它解压到一个目录,如我解压到C:/boost-1.40.0.cmake2。

第3:进入控制台环境,然后变换到C:/boost-1.40.0.cmake2目录里,执行cmake .。记得后面有一个"."代表当前目录。之后会生成一个Boost.sln项目,我的是vc9。

第4:点击Boost.sln,然后右键点击ALL_BUILD项目,选择build,然后编译,我事先选择的是release版本,然后就等着编译完成吧(91个项目都编译成功)。

第5:右键点击INSTALL项目,选择build。最后会安装到C:/Program Files/Boost目录下。里面会有三个目录bin,include和lib。



测试代码main.cpp:

#include <boost/lambda/lambda.hpp>
#include <iostream>
#include <iterator>
#include <algorithm>
int main()
{
	using namespace boost::lambda;
	typedef std::istream_iterator<int> in;
	std::for_each(
		in(std::cin), in(), std::cout << (_1 * 3) << " " );
}




用vc建一个boost项目,然后新建一个main.cpp文件,插入上面的代码。右键点击boost项目-->property-->c/c++-->general-->Additional include directory增加C:/Program Files/Boost/include/boost-1_40头文件目录。

或者,如果经常要使用boost,那么可以在vc的tools->options->projects and solutions->vc++directory中的include files选项中增加C:/Program Files/Boost/include/boost-1_40,library files中增加C:/Program Files/Boost/lib。这样,以后都不用在每个项目中去增加头文件和库文件的路径了。



最后编译运行成功。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/fjb2080/archive/2010/02/21/5314342.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: