幾分鐘讓你了解Visual Studio Boost的配置方法
隨著時(shí)代的進(jìn)步科技的發(fā)展Visual Studio Boost版本也快速的簡(jiǎn)化與升級(jí),下面我就對(duì)升級(jí)前和升級(jí)后的Visual Studio Boost,做一下自己的解析,希望能夠?qū)Υ蠹矣袔椭?在這里拿出來(lái)和大家分享一下。
并且我也希望能通過(guò)這幾個(gè)小程序使讀者能對(duì)Visual Studio Boost有一個(gè)初步的認(rèn)識(shí),并盡快加入Boost的用戶行列。在寫本文的時(shí)候,我所使用的環(huán)境是Windows XP Home Edition + Boost1.33.1 + Visual Studio .NET 2003 首先是從Boost的主頁(yè)上下載相關(guān)的Boost的壓縮包,我下載的是boost_1_33_1.zip,假定我們解壓到D盤根目錄。解壓后的目錄結(jié)構(gòu)應(yīng)該類似 boost_1_33_1<目錄> -- boost <目錄> -- doc <目錄> -- libs <目錄> -- more <目錄> 等等這些目錄和文件。
打開Visual Studio .NET 2003 選擇菜單 工具-->選項(xiàng)-->項(xiàng)目-->VC++目錄,在“包含文件目錄”里,增加一行,如:D:\boost_1_33_1。這樣你就可以使用大多數(shù)的Boost類庫(kù)。現(xiàn)在我們來(lái)寫一個(gè)小程序,感受一下Boost。
- #include <vector>
- #include <iostream>
- #include <boost/lexical_cast.hpp>
- using namespace boost ;
- using namespace std ;
- int main(int argc, char * argv[])
- {
- vector<int> v1;
- vector<int>::const_iterator ci_v1 ;
- int iLength = 0 ;
- while( iLength < 10 )
- {
- try
- {
- if ( iLength == 5 )
- v1.push_back(lexical_cast<int>("DukeJoe")) ;
- else
- v1.push_back(lexical_cast<int>(iLength));
- }
- catch(bad_lexical_cast &ex)
- {
- cout << ex.what()<< endl ;
- v1.push_back(-1);
- }
- iLength++ ;
- }
- cout << "vector --> " ;
- for ( ci_v1 = v1.begin() ; ci_v1 != v1.end() ; ci_v1++ )
- {
- cout << *ci_v1 << " " ;
- }
- cout << endl ;
- return 0 ;
- }
直接在VS2003里的包含目錄加入Visual Studio Boost的目錄后,絕大多數(shù)的類庫(kù)就可以使用了,但還有少數(shù)的類庫(kù)需要額外再生成對(duì)應(yīng)操作系統(tǒng)的動(dòng)態(tài)庫(kù),才可以使用。我們以Windows+VS2003為環(huán)境,以regex類庫(kù)舉例說(shuō)明。
regex為我們提供了正則表達(dá)式功能,其中boost的regex支持perl語(yǔ)法,更極大的提升了我們使用正則表達(dá)式所產(chǎn)生的效果。但要想使用regex,我們需要生成相關(guān)的lib文件才可以。#t#
生成的步驟如下:開始 --> Microsoft Visual Studio.NET 2003 --> Visual Studio.NET 工具 --> Visual Studio.NET 2003 命令提示。使用這個(gè)命令提示符之后,VS就會(huì)為我們自動(dòng)配置好VC環(huán)境。打開命令提示符之后,我們進(jìn)入目錄 D:\boost_1_33_1\libs\regex\build ,現(xiàn)在我們敲入 nmake /fvc71.mak 生成lib文件。生成lib文件之后,我們單獨(dú)建一個(gè)文件夾,例如我建立的是d:\boost_libs,然后把所有的*.lib文件拷貝到這個(gè)目錄。
然后我們打開VS2003,選擇菜單 工具-->選項(xiàng)-->項(xiàng)目-->VC++目錄,在“庫(kù)文件”里加入目錄d:\boost_libs,這樣VS2003在鏈接時(shí),就會(huì)搜索這個(gè)目錄。