博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[C++]VS2005(VC8) 使用 Boost
阅读量:5949 次
发布时间:2019-06-19

本文共 2055 字,大约阅读时间需要 6 分钟。

測試環境:
[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;
}

转载地址:http://jjpxx.baihongyu.com/

你可能感兴趣的文章
从输入网址到显示网页的全过程分析
查看>>
spark集群启动步骤及web ui查看
查看>>
Maven学习笔记二:常用命令
查看>>
利用WCF改进文件流传输的三种方式
查看>>
程序员的素养
查看>>
Spring学习总结(2)——Spring的常用注解
查看>>
关于IT行业人员吃的都是青春饭?[透彻讲解]
查看>>
钱到用时方恨少(随记)
查看>>
mybatis主键返回的实现
查看>>
org.openqa.selenium.StaleElementReferenceException
查看>>
Android Intent传递对象为什么要序列化?
查看>>
数论之 莫比乌斯函数
查看>>
linux下查找某个文件位置的方法
查看>>
python之MySQL学习——数据操作
查看>>
懒加载——实现原理
查看>>
Harmonic Number (II)
查看>>
长连接、短连接、长轮询和WebSocket
查看>>
day30 模拟ssh远程执行命令
查看>>
做错的题目——给Array附加属性
查看>>
Url.Action取消字符转义
查看>>