mingw环境下boost库的编译和使用

    首先到boost的网站上下载最新的BOOST源代码和编译好的JAM,地址:http://www.boost.org/users/download/ 。这里下载的是 boost-jam-3.1.17-1-ntx86.zipboost_1_37_0.tar.bz2


这里假设mingw的安装目录为C:\MinGW

1、将C:\MinGW\bin设置到环境变量的PATH中

 

2、解压下载下来的两个包,将bjam.exe拷贝到boost1.37的解压目录中。最后文件目录格式如下


 

3、在CMD下进入boost1.37的解压目录,运行bjam "toolset=gcc" install


 

4、等待一段时间后,会在C盘根目录下生成一个boost文件夹,里面放着生成的头文件以及LIB和DLL文件。

5、将C:\Boost\include\boost-1_37目录下的boost文件夹拷贝到C:\MinGW\include下面

6、将C:\Boost\lib下的lib文件拷贝到C:\MinGW\lib,将C:\Boost\lib下的dll文件拷贝到C:\MinGW\bin。


     C:\Boost\lib下的lib文件有很多是类似的,如关于graph的有boost_graph-mgw42-mt-1_37.lib、boost_graph-mgw42-mt.lib、libboost_graph-mgw42-mt-1_37.lib、libboost_graph-mgw42-mt.lib。其中前面带lib的是静态链接库,不带 lib 的是动态连接库,至于带boost版本号和不带版本号的有什么区别暂时还不清楚。




下面用eclipse创建一个C++工程测试一下,代码如下

#include <iostream>
#include <string>
#include <boost/filesystem.hpp>
namespace fs = boost::filesystem;

/**
 * 输出C盘目录下的所有文件和目录名称
 */
int main()
{
	fs::path full_path("c:");
	fs::directory_iterator end_iter;
	for ( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr )
	{
		std::cout << dir_itr->path().filename() << std::endl;
	}
}

 

     同时添加连接选项,由于filesystem依赖system,所以这里的连接选项中将system也要加上,最终结果如下图


 

编译运行该工程,即可 打印输出 C盘根目录下所有文件和文件夹名称。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值