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

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

    博客分类:
  • 安装笔记
C C++ C# GCC Eclipse

    首先到boost的网站上下载最新的BOOST源代码和编译好的JAM,地址:http://www.boost.org/users/download/。这里下载的是boost-jam-3.1.17-1-ntx86.zip和boost_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++工程测试一下,代码如下

Cpp代码   收藏代码
  1. #include <iostream>  
  2. #include <string>  
  3. #include <boost/filesystem.hpp>  
  4. namespace fs = boost::filesystem;  
  5.   
  6. /** 
  7.  * 输出C盘目录下的所有文件和目录名称 
  8.  */  
  9. int main()  
  10. {  
  11.     fs::path full_path("c:");  
  12.     fs::directory_iterator end_iter;  
  13.     for ( fs::directory_iterator dir_itr( full_path ); dir_itr != end_iter; ++dir_itr )  
  14.     {  
  15.         std::cout << dir_itr->path().filename() << std::endl;  
  16.     }  
  17. }  

 

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


 

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


你可能感兴趣的:(mingw环境下boost库的编译和使用)