在code::block中使用boost库

转载请注明出处 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;
}
演示

如果你想单独运行对于的程序即.exe文件,需要复制对应的.dll到你的exe文件夹下面

如果好存在问题的话,而且你的英文比较好的话这里我再给个衔接给你看看

http://wiki.codeblocks.org/index.php?title=BoostWindowsQuickRef

上面的网页是先建立一个全局变量,然后设置环境的,你也可以先自己设置一下一个全局变量后在进行设置



本人最近看是学习Boost库,完全的新手菜鸟级别,欢迎大家一起学习,如果你对上面的文章有什么问题的话可以在

下面留言或者发邮件到231603340@163.com,我会找时间来看看。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值