[C++]VS2005(VC8) 使用 Boost

測試環境:
[1] Widnows XP Professional
[2] Visual Studio 2005 Team Studio(VC8.0)
[3] WinCvs 1.3

1. 下載 Boost

  •   透過 CVS 下載最新版
      cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost login
    [詢問密碼時,直接輸入 Enter 略過]
    cvs -z3 -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost checkout boost
    cvs -d:pserver:anonymous@boost.cvs.sourceforge.net:/cvsroot/boost logout

2. 組態設定

  • 執行 C:\Program Files\Microsoft Visual Studio 8\VC\bin\vcvars32.bat

3. 建置與安裝(* [boost] 表示 boost 的根目錄)

  •   執行 [boost]\tools\jam\build_dist.bat
  •   將 [boost]\tools\jam\src\boost-jam-3.1.14-1-ntx86\bjam.exe 複製到 [boost]\bjam.exe
  •   切換到 [boost]\ 執行 bjam "-sTOOLS=vc-8_0" install
  •   漫長的等待~~~~~~~~ 相關 header 與 lib 產生在 C:\Boost
  •  修改 C:\Boost\include\boost-1_35\boost\config\suffix.hpp 內容
    #  define BOOST_LIB_TOOLSET "vc80"
    成如下
    #  define BOOST_LIB_TOOLSET "vc"
    (或是將 c:\Boost\Lib\ 下的所有 *.lib 的 -vc- 取代為 -vc80- (如:bgl-viz-vc.lib -> bgl-viz-vc80.lib, boost_date_time-vc-1_35.dll -> boost_date_time-vc80-1_35.dll)否則程式在連結時會發生找不到 lib 的錯誤)
  • 將 C:\Boost\include\boost-1_35 加入 VC2005 的 Include 路徑
    • Tools | Options | Projects and Solutions | VC++ Directories
    • Show directories for: Include files
  • 將 C:\Boost\lib 加入 VC2005 的 Lib 路徑
    • Tools | Options | Projects and Solutions | VC++ Directories
    • Show directories for: Library files

4. 測試

// 正規表示法測試:信用卡號檢測
#include <boost/regex.hpp>
#include <iostream>

bool validate_card_format(const std::string s)
{
        static const boost::regex e("(\\d{4}[- ]){3}\\d{4}");
        return regex_match(s, e);
}

int _tmain(int argc, _TCHAR* argv[])
{
    std::cout << (validate_card_format("1111-1111-1111-2222")?"PASS":"Error") ; // PASS

    return 0;
}

// 計算兩個日期相差的天數
#include <iostream>
#include <boost/date_time/gregorian/gregorian.hpp>

using namespace std;
using namespace boost::gregorian;

int _tmain(int argc, _TCHAR* argv[]){
    date_duration dd = date(2000, 1, 1) - date(1900, 1, 1);
    cout << "The twentieth century had " << dd.days() << " days" << endl; // 36524

    dd = date(2100, 1, 1) - date(2000, 1, 1);
    cout << "The twenty-first century will have " << dd.days() << " days" << endl; // 36525   
 
    return 0;
}

时间: 2024-09-20 09:18:57

[C++]VS2005(VC8) 使用 Boost的相关文章

编译Boost 详细步骤 适用 VC6 VS2003 VS2005 VS2008 VS2010

vs2008编译boost   [一.Boost库的介绍] Boost库是一个经过千锤百炼.可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一.Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容.在C++社区中影响甚大,其成员已近2000人. Boost库为我们带来了最新.最酷.最实用的技术,是不折不扣的"准"标准库.    Boost库中比较有名的几个库:    (1)Regex,正则表达式库:    (2)Spir

Windows下如何使用BOOST C++库

我采用的是VC8.0和boost_1_35_0.自己重新编译boost当然可以,但是我使用了 http://www.boostpro.com/products/free 提供的安装工具 BoostPro 1.35.0 Installer (192K .exe) .我强烈建议使用这个工具来在Windows下安装BOOST库和源文件. 1)使用boost_1_35_0_setup.exe这个工具下载boost库,选择你要的包(类型总是Mutilthread和Mutithread Debug),下载后

boost asio-#include&amp;amp;lt;boost/asio&amp;amp;gt;运行不成功

问题描述 #include<boost/asio>运行不成功 #include"stdafx.h" #include int _tmain(int argc, _TCHAR* argv[]) { return 0; } 编译时成功,运行时弹出一个框框, Unable to start program. 我下的是boost的二进制可执行文件,且在vs2005上已经包含了头文件和库文件,将#include换成#include或者其他就能运行成功,这是什么原因呢 解决方案 boo

Boost下载安装编译配置使用指南

转载:http://www.cppblog.com/jerryma/archive/2011/10/17/158554.html --更新于2011/7/19,目前我已对boost的安装和使用有了新的认识,因此也会对两年前写的这篇文章做大幅修改,网上转载版本泛滥,请以本文为准. 理论上,本文适用于boost的各个版本,尤其是最新版本1.47.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,VS2010,gcc,C++ Builder等.先总结一

VS2010 编译安装boost库

实践是最好的办法..学习C++,想试试线程,然后打算用boost库,结果boost库编译差点吓到我..没看到比较完整的安装教程..一直耽搁.今天动手.完成了.方法记录如下:1.下载boost从boost官网( http://www.boost.org )上下载最新的boost版本,现在最新是1.49版本,解压到自定义目录(我解压到了D:/program files,最终的目录结构是D:\Program Files\boost_1_49_0) 2.编译安装 在D:\Program Files\bo

boost在windows下的编译(vs2010)

首先说下环境,win7,vs2010. 先在http://www.boost.org/users/download/上下载boost安装包,我下的是1.52.0版. 按照说明,直接运行"bootstrap.bat",报"'cl'不是内部或外部命令"的错误,于是在环境变量中添加了cl.exe的路径--"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\x86_ia64".再次运行&

求助vc6 to vc8!急,谢谢

问题描述 问各位关于vc6到vs2005的问题:我在vs2005新建一个windowsformsapplication,然后我想把我vc6做好的一个代码mfc程序移到vs2005去,但是出现很多问题!我尝试先#include<windows.h>,但是有很多错误,各位可以指点一下怎么做吗?我刚刚接触vs2005,不大了解!谢谢下面是我在一个windowsformsapplication里面include<windows.h>出现的部分错误提示D:软件集合VC++VC98Includ

Boost下载安装编译配置使用指南(含Windows和Linux

理论上,本文适用于boost的各个版本,尤其是最新版本1.45.0:适用于各种C++编译器,如VC6.0(部分库不支持),VS2003,VS2005,VS2008,gcc,C++ Builder等.先总结一下Windows系统.一.下载首先从boost官方主页附链接下载最新版boost安装包(目前最新版是boost_1_45_0.7z).二.安装将boost安装包解压至本地目录,如:E:\SDK\boost_1_45_0.因为boost一部分类是需要编译成库才能使用的,所以我们还需要准备好boo

Boost库在Windows平台下的编译

最近正在学习Boost库,过一久要用它来进行一些跨平台的开发:使用thread线程库来开发多线程 的程序(就是我的那个CodingWar项目:-P),所以自己动手进行了下面的Boost配置编译工作. 一.编译前的准备 我的VC++2005安装在"D:\Microsoft Visual Studio 8\VC"目录:下载boost库后解压, 根目录为:"D:\C_C++\boost_1_33_1",可参考改为相应的目录即可. 二.编译步骤 1.执行:"D:\