自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

關(guān)于VS 2003 Boost的一些常見配置方法

開發(fā) 后端
本文講述VS 2003 Boost的配置方法和技巧,怎樣創(chuàng)建Boost目錄。這些內(nèi)容都是我今天花花了一周的時間查閱資料并像IT精英學(xué)習(xí)出來的,歡迎大家分享。

如果大家編譯下面的程序,在鏈接時沒有報(bào)錯,就是正確鏈接了lib庫文件。通過程序的輸出結(jié)果,說明程序運(yùn)行正常,我們的庫也就是安裝正確了。 下面我們使用VS 2003 Boost來建立所有的庫。

下面我們來看一個小程序,測試一下正則表達(dá)式功能 :

  1. #include <iostream> 
  2. #include <string> 
  3. #include <iterator> 
  4. #include <boost/regex.hpp> 
  5.  
  6. using namespace boost ;  
  7. using namespace std ;  
  8.  
  9. int main(int argc, const char** argv)  
  10. {  
  11.   wchar_t * strSample = L"[哈爾濱]高宏偉 2007-05-15 呵呵 Blog:http://dukejoe.yeah.net " ;  
  12.   wregex rgExpression(L"(\\[(\\S*)\\])((\\S|\\s)*)(\\d{4,}-\\d{2,}-\\d{2,})((\\S|\\s)*)", boost::regex::perl) ;  
  13.   wcmatch what ;  
  14.  
  15.  
  16.   wcout.imbue(locale("chs"));  
  17.   try  
  18.   {  
  19.     if(regex_match(strSample, what, rgExpression))  
  20.     {  
  21.       wcout << L"match!" << endl ;  
  22.       for (unsigned int i = 0 ; i < what.size() - 1 ; i++ )  
  23.       {  
  24.         wcout << L"what[" << i << L"] --> " << what[i] << endl ;  
  25.       }  
  26.     }  
  27.     else  
  28.       wcout << L"not match!" << endl ;  
  29.   }  
  30.   catch(...)  
  31.   {  
  32.     return -1;  
  33.   }  
  34.     return 0;  

VS 2003 Boost這個程序我們使用的是寬字符,主要是因?yàn)槲覀円ヅ錆h字。程序中的strSample是一個樣本,我們使用的正規(guī)表達(dá)式是rgExpression,構(gòu)造函數(shù)的boost::regex::perl說明我們使用perl語法規(guī)則。正規(guī)表達(dá)式為我們先匹配[]中間的城市名稱,然后還為我們匹配了一個帶年月日的時間格式,所以在這個程序中對我們有用的是what[2]和what[5],分別匹配出用戶的所在地(哈爾濱)和用戶的時間(2007-05-15)。

由于C語言的語法規(guī)定反斜杠為轉(zhuǎn)義字符,所以在我們構(gòu)造正規(guī)表達(dá)式時,我們要用兩個反斜杠。regex_match用來進(jìn)行實(shí)際的匹配工作。關(guān)于boost的正則表達(dá)式的用法,已經(jīng)超出了本文的范圍,本文將精力主要集中在使用這個程序驗(yàn)證boost安裝過程上。以后有機(jī)會,我盡量在Blog上再寫幾篇專門介紹Boost Regex 正規(guī)表達(dá)式使用的文篇。如果大家編譯上面的VS 2003 Boost程序,在鏈接時沒有報(bào)錯,就是正確鏈接了lib庫文件。

通過程序的輸出結(jié)果,說明程序運(yùn)行正常,我們的庫也就是安裝正確了。下面我們使用Boost.Jam來Build所有的庫。首先,我們再次打開VC.NET 2003的命令提示符,然后進(jìn)入D:\boost_1_33_1\tools\build\jam_src目錄,運(yùn)行build.bat。這時我們會生成bjam的可執(zhí)行程序。在本文中,Build過程會在jam_src下生成bin.ntx86這個子目錄?,F(xiàn)在我們來配置一下環(huán)境變量PATH,以便用bjam來build boost。配置步驟如下:右鍵我的電腦-->屬性-->高級-->環(huán)境變量,在PATH這個變量后面加入bin.ntx86所在的絕對路徑。

主要是因?yàn)橥ㄟ^上面的這些步驟,你可以初步的對Build過程中要使用的工具和簡單的Boost有一個感性的認(rèn)識。這樣的過程會幫助初學(xué)者更快的進(jìn)入角色。Boost的安裝過程其實(shí)很簡單。你建立一個d:\boost目錄,然后解壓zip文件到d:\boost_1_33_1。首先用上文中介紹的方法Build bjam的可執(zhí)行文件(參與上一段的步驟),然后進(jìn)入d:\boost_1_33_1。 在命令行執(zhí)行bjam --prefix=d:\boost install 執(zhí)行后,會在d:\boost生成所需要的所有庫和頭文件。#t#

然后你用上面介紹的配置Visual Studio.NET 2003的方法配置include目錄為 D:\boost\include\boost-1_33_1,lib目錄為D:\boost\lib。這樣就大功告成了。 我們解釋幾個重要的bjam的參數(shù),命令行的install的意思是指要安裝庫文件和頭文件。 --prefix的意思是說安裝獨(dú)立文件的路徑。

上面我們使用的是d:\boost。 --exec-prefix的意思是說安裝依賴文件的路徑。上面我們沒有輸入。默認(rèn)是prefix提供的目錄,所以在本例中,應(yīng)該是d:\boost --libdir的意思是指安裝庫文件的路徑。我們上面也沒有輸入。默認(rèn)是exec-prefix提供的目錄加lib,因?yàn)楸纠衑xec-prefix使用的是prefix的目錄,所以libdir為d:\boost\lib 另外還有一些比較常用的參數(shù)如: --includedir 這個參數(shù)是頭文件所在的目錄。默認(rèn)是PREFIX\include。

比如上例中,我們的PREFIX值是d:\boost,所以頭文件就放在d:\boost\include --with這個參數(shù)是指Build或Install單獨(dú)的庫,就好像文章前半部分我們介紹的方法,但前面我們是手工做的。如果是使用這個參數(shù),則可以自動完成指定庫的Build和Install。例如:bjam --prefix=d:\boost install --with-regex 如果在安裝過程中我們不能編譯,說明我們在VC的包含目錄里設(shè)置的目錄不正確,檢查一下,因?yàn)橛锌赡茉诮鈮哼^程中,VS 2003 Boost的根目錄由d:\boost_1_33_1變成了d:\boost_1_33_1\boost_1_33_1,這時只要把根目錄提前一級就可以了。

責(zé)任編輯:chenqingxiang 來源: oice
相關(guān)推薦

2009-11-26 13:40:53

2009-11-30 13:51:28

VS2003 Runt

2009-11-26 16:46:08

VS2003編譯

2009-06-04 16:28:43

EJB常見問題

2009-11-30 13:51:28

VS2003 Acti

2009-12-01 09:06:36

VS2003 ajax

2009-12-01 10:18:12

VS2003makef

2009-12-01 16:16:13

安裝VS2003

2009-11-30 09:39:46

VS2003版本

2009-11-27 08:59:29

VS2003配置文件

2009-12-02 16:02:58

VS2010編輯器

2011-07-13 09:13:56

Android設(shè)計(jì)

2009-11-30 10:20:47

2009-12-01 11:21:25

VS2003 報(bào)表

2009-12-01 14:18:54

VS 2003Data

2009-11-26 15:10:08

VS2005資源

2009-11-27 09:34:38

VS2003命令

2013-04-07 10:40:55

前端框架前端

2009-06-18 09:51:25

Java繼承

2009-11-26 17:02:29

VS2003配置
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號