官方首页
 计算机科学与技术
 湖畔文学
 蓝色湖畔桃园
 湖畔艺术
 湖畔科技
 本站留言
热门关键字:    dreamlandcn.com    蓝色湖畔
 >>相关文章
·你必须知道的10种国产编程语言
·句句经典!不看实在后悔啊
·价值三十九万的课 朋友的选择
·性别与视野
·20世纪的十大惊天科学骗局
·创建C#资源文件
·c#下载程序示例
·String.Format类格
·导入导出Excel的简单,中等
·解密 eval gzinfla
 >>点击排行TOP10
·多种排序算法,多种语言讲解(前言)
·多种排序算法,多种语言讲解(简单选
·多种排序算法,多种语言讲解(冒泡排
·多种排序算法,多种语言讲解(堆排序
·多种排序算法,多种语言讲解(快速排
·【其它欣赏】少儿不宜的设计
·多种排序算法,多种语言讲解(树形选
·多种排序算法,多种语言讲解(希尔排
·多种排序算法,多种语言讲解(交换排
·多种排序算法,多种语言讲解(总结)
·VC中使用GetModuleFil
·C#中DataSet绑定XML的代
·多种排序算法,多种语言讲解(直接插
·【其它欣赏】一辆卡车车身广告引发P
·多种排序算法,多种语言讲解(归并排
 
 当前位置:网站首页 > 计算机科学与技术 > 浏览正文
Boost安装及使用简要说明
作者:佚名    来源:本站原创    点击数:   更新时间:2008年09月10 【字体:
1>安装boost
============
     Linux下,直接使用gcc即可,里面已经内置了对boost的支持,即使对于regex、filesystem等需要binary library的库,也没有问题,这一点,我已经测试过。

    Windows下常用的两种编译器,dev c++和visual c++都没有内置boost库,所以需要自己编译。当然,如果你只用到那些header-only libraries,你完全不需要自己编译,直接把boost的头文件目录添加到编译器的include目录就行了,这些都不在话下。比较繁琐的是那些需要自己动手编译的库,比如regex库。这时,可以参考boost文档中《Getting started on windows》这篇文章,使用bjam工具来build regex库。 我是使用vc9来编译的,下面以编译regex库为例:

bjam --build-dir="d:\boost" --with-regex --toolset=msvc stage

另外,对于Visual Studio环境,网上已经有提供的Boost installer,可以直接下载安装编译好的版本。对于dev C++的用户,可以参考http://wagjo.com/index.php 来自己编译,也可以在这里找到一个1.34版本的installer,版本不太新,但可以省去自己编译的麻烦。


2>使用Boost
============

    对于header-only的库,使用很简单,这里主要介绍如何在不同的编译器中使用那些需要额外binary library来支持的boost库,这里以regex库为例来介绍。
    Dev C++ : 首先你需要建立一个project,而不能只是编译单个的c++文件,因为在dev c++中,只有在project中才能设置linker的参数。 建立project后,“Project"-->"Project Options"-->"Parameters"选项卡--->在linker框中添加:"-lboost_regex-mt",告诉linker在链接的时候,链接regex库。That's Ok!

    Visual Studio:这个比较简单,因为boost内置了auto-linking语句,能够自动检测visual studio编译器的选项设置,然后自动链接合适的库。但是在今天写程序的时候遇到另外一个问题,就是boost会自动给我选择链接静态regex库,但是如果我想要用动态regex库怎么办?在哪里设置?几经摸索,找到一个办法,就是在project中添加dll库对应的导入库。或者在源代码中用#pragma语句加入导入库。对于regex库来说,代码如下:

#include "stdafx.h"
#include<iostream>
#pragma comment(lib,"boost_regex-vc90-mt.lib")
#include<boost/regex.hpp>
#include<boost/lexical_cast.hpp>
using namespace std;

需要注意的是,一定要把#pragma语句放在”#include<boost/regex.hpp>"语句之前,否则无效。
Tags:dreamlandcn.com
Google
 
关于我们 | 服务指南 | 著作权与商标声明 | 法律声明 | 服务条款 | 隐私声明 | 诚征英才  | 友情链接
Powered by ACTCMS 2.0
Copyrights©2008-2009 蓝色湖畔 www.dreamlandcn.comAll Rights Reserved.