转载请注明出处 http://blog.csdn.net/hellosijian/article/details/7215274
经过本人千辛万苦,终于可以在code::block中使用Boost了,为了帮助大家少走弯路,写下这篇文章来帮助
大家,同时也为了回馈许多我看过的blog和文章
http://blog.csdn.net/hellosijian/article/details/7215274
如何编译boost我在这里就不罗嗦了,网上有许多文章,大家可以看我从网上搜到的这篇,讲得比较好,可以
很快就编译好:http://blog.csdn.net/hellosijian/article/details/7215277
如果你觉得繁琐的话我在这里提供一个已经编译好的Boost库,大小34.6M,解压后达到900多M
注意这个是boost版本是1_46_1,是动态库(有些新手可能会糊涂,没办法,谁都有第一次,我也不例外),
用的编译器是MinGW,注意是MinGw编译器,看清楚再下
Boost库(MinGW已编译完成)下载地址
http://download.csdn.net/detail/hellosijian/4032085
在这里我主要讲解如何在code::block中配置boost的环境
code::block是一款跨平台的C++ IDE.......此处省略一百万字
官方下载地址:http://www.codeblocks.org/downloads/binaries#windows
首先你要确保你的IDE可以编译hello world
一 、不使用动态链接库,只要按以下步骤配置就可以了
boost库本身可以不用编译就直接用只要包含头文件即可,设置环境变量就ok了
点击菜单 【设置】 【编译器和调试器】 --> 选择<搜索路径>选项卡--><编译器>选项包含你解压路径的boost文件
我自己的boost解压在 E:\Program Files\STL\ 自己根据自己情况定,这样你就可以使用大多数的boost库了。
二 、使用regex或者date_time等需要编译的库
如果你想使用像regex正则表达式 或者 date_time这样的库需要还是需要一些配置,如果你没有做好以上步骤,请转到前面。
首先新建一个工程如 boost test(这里演示实使用date_time库)
然后打开 菜单 【项目】--【构建选项】
在【搜索路径】选项卡 的【衔接器】里设置你编译好的boost动态库文件夹,如果你是下载我上面的衔接的那个库的
话解压后可以得到一个900多M的名字为 boost_1_46_0_stage的文件夹,把它的路径...\boost_1_46_0_stage\stage\lib添加到进去即可,如图:
设置好后在链接动态库,同样打开 菜单 【项目】--【构建选项】
在连接器设置 选项卡里的衔接库 库中添加你要的动态库(这样mingw可以通过*.a库来链接相应的*.dll)
点击【添加】按钮 这时你最后不要只天你的库的名字(对于前面的*.a),而是添加它的全部路径,这时你可能
糊涂了,那么多个库到底要添加哪个,如果你是下载上面已经编译好的boost库的话,在文件夹目录下有很多个
date_time库吧,这里我就不介绍那么多为什么了,我也没那么高的能力,你只要添加以 .dll.a结尾的文件就OK啦
比如我添加的是 E:\Program Files\STL\boost_1_46_0_stage\stage\lib\ibboost_date_time-mgw44-mt-1_46.dll.a
如图:
不知道是不是codeblock 的BUG还是其他什么原因,本人在【编译器和调试】全局设置里设置库路径的不起作用,所以只好到工程里的局部环境变量里而单独添加库的名字不起作用,非要添加全部路径这个让我非常纠结,浪费了我很多时间。
这样就配置好的,运行以下代码:
#include <iostream>
#include "boost/array.hpp"
#include "boost/date_time/gregorian/gregorian.hpp"
using namespace std;
using namespace boost;
using namespace boost::gregorian;
int main()
{
array<int,2> a = {1,2};
date d(2011,1,1);
cout<<to_simple_string(d);
cout << "Hello world!" << endl;
return 0;
}
演示
![](http://hi.csdn.net/attachment/201201/25/0_1327504974i3U7.gif)
如果你想单独运行对于的程序即.exe文件,需要复制对应的.dll到你的exe文件夹下面
如果好存在问题的话,而且你的英文比较好的话这里我再给个衔接给你看看
http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef
上面的网页是先建立一个全局变量,然后设置环境的,你也可以先自己设置一下一个全局变量后在进行设置
本人最近看是学习Boost库,完全的新手菜鸟级别,欢迎大家一起学习,如果你对上面的文章有什么问题的话可以在
下面留言或者发邮件到231603340@163.com,我会找时间来看看。