日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

正则表达式 boost regexp的安装

發布時間:2025/4/16 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 正则表达式 boost regexp的安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

早就聽說過這個Boost庫的牛B,只是一直沒有精力來學習,最近在網上查了查,評論有好有壞,但多一點是好的,不過暫時沒有見過有公司使用Boost庫來作為公司產品開發的,網上也有說Boost庫值得用來學習和研究,但是在做應用方面,考慮到維護什么的,不太適合。的確也是,作為公司產品開發的技術,有時候要考慮到很多東西,不過說功能強就一下子拿來用,以后,技術人員的變動,升級什么的,如果給公司帶來更多的麻煩,倒還不如使用人人都懂的MFC,只要能把應用做到位,多余的強功能,不用也罷。。。

好了,開始學習。。。

一、下載和安裝。

1.到官網下載個最新的包,我下載的是boost_1_37_0.rar

2.新建一個目錄,如:在:d:\Boost,把boost_1_37_0.rar解壓到里面,如d:\Boost\boost_1_37_0

3.網上的資料說,解壓后,絕大多數的類庫就可以使用了,因為里面已經有.h和.cpp的完整源碼,所以直接包含在你的工程也是可編譯過去的。使用方式:我的機子裝了VC 6.0和VS.net 2008,我使用VC 6.0測試了一下,Pass.

方法:在VC->Tools->Options->Directories->Include files里面增加D:\Boost\boost_1_37_0就OK了。

給個例子如下:

#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 ;
}

這時候VC 6.0就可以編譯過去,可以使用Boost一些類庫功能了。。。

4.上面的使用方式是,等你的工程需要的時候,才將Boost一些庫功能進行編譯。但是我們現在也可以先將Boost類的功能編譯成.dll和.lib,這樣的話,等到我們的工程使用的時候,只需要.dll,.lib,還有相應的.h就可以了,這樣我們工程的編譯時間也少一點。

一般Boost庫是由多個子庫功能組合起來的,我可以一下子全部編譯所有的子庫,也可只編譯某一些子庫,如regex功能子庫。什么是子庫?D:\Boost\boost_1_37_0\libs下面有多個文件夾,一個文件夾就是一個子庫。

現在我們先介紹怎么編譯某個子庫:以regex為例

我的機子上面裝了VC.net 2008和VC 6.0,因為C++的東西,很多公司還是使用VC 6.0來開發,很少使用VC.net版本,所以決定使用VC 6.0來編譯Boost庫,然后也在VC 6.0里面使用Boost庫,而不使用.net版本的東西,但是到了.net 版本的VC.net也是可以使用Boost庫的,其安裝和使用過程類似,下面有提示一下的。

方法一:

打開cmd,定位到D:\Boost\boost_1_37_0\libs\regex\build,先打上"D:\Program Files\Microsoft Visual Studio\VC98\Bin\VCVARS32.BAT",命令也使用雙引號括上,這個VCVARS32.BAT,東東厲害了,VC 6.0不像它的哥們VC.net安裝完后,會在環境變量上面加上必要的東西,這個VCVARS32.BAT就是一個加上必要的環境變量的批處理,如果你的VC 6.0安裝在C盤,就改D為C,跟著,打上命令"nmake /f vc6.mak",就開始編譯了,這里的nmake調用的是VC 6.0的,不是VC.net的nmake,vc6.mak是make文件,如果你想使用VC.net版本來編譯,如我使用的是VC.net 2008,所以使用vc9.mak,但是你得使用"Visual Studio 2008 命令提示"的cmd,而不是一般的cmd,進去之后,編譯命令改為"nmake /f vc9.mak",就OK了,對于VC.net版本,它也有一個VCVARS32.BAT,大概路徑為D:\Program Files\Microsoft Visual Studio 9.0\VC\bin\VCVARS32.BAT,也是一個配置環境變量的批處理,在運行編譯命令前,也可以使用絕對路徑導一下VCVARS32.BAT。

跟著下來的就是等待編譯完成了。呵呵。

編譯完成后,D:\Boost\boost_1_37_0\libs\regex\build\vc6里面的.dll和.lib就是我們所需要的東東了,include files在D:\Boost\boost_1_37_0\boost\regex文件夾里。

方法二:

這個方法是使用bjam來編譯,什么是bjam?bjam是一個對Boost庫進行編譯的批處理命令行工具,在那里可以得到它?也是在Boost庫里面,但是是以源代碼形式提供的,所以我們得首先把bjam編譯出來,方法如下:

1>定位到D:\Boost\boost_1_37_0\tools\jam\src,使用記事本打開build.bat(先備份一下),里面有部分內容如下:

//-------------------------------------------------------------------------------------------

:Guess_Toolset
REM Try and guess the toolset to bootstrap the build with...
REM Sets BOOST_JAM_TOOLSET to the first found toolset.
REM May also set BOOST_JAM_TOOLSET_ROOT to the
REM location of the found toolset.

if "_%ProgramFiles%_" == "__" set ProgramFiles=C:\Program Files

//-------------------------------------------------------------------------------------------

如果你的VC安裝在D盤,則要改一下紅色部分配置。

打開cmd定位到D:\Boost\boost_1_37_0\tools\jam\src,打上build.bat直接運行,開始編譯,完成后,在D:\Boost\boost_1_37_0\tools\jam\src\bin.ntx86下面有一個bjam.exe,這個就是我們想要的bjam了。

上面得到bjam后,把它拷貝到D:\Boost\boost_1_37_0目錄下,然后我們現在可以使用bjam來編譯我們的regex子庫了,打開cmd定位到D:\Boost\boost_1_37_0,打上命令"bjam --toolset=msvc-6.0 --build-type=complete --prefix=d:\boost install --with-regex",就可以開始編譯了。

編譯完成后,D:\Boost下面的include和lib文件夾的東西,就是我們工程需要的東東了。

5.好,現在我們介紹怎么編譯整個Boost庫,就是說一下把Boost庫里面所有的子庫全部編譯完后,其實很簡單,跟上面編譯單個子庫差水多的命令行,方法如下:

把bjam拷貝到D:\Boost\boost_1_37_0目錄下,打開cmd定位到D:\Boost\boost_1_37_0,打上命令"bjam --toolset=msvc-6.0 --build-type=complete --prefix=d:\boost install",就可以開始編譯了。上面命令中的--build-type=complete 好像跟以前的版本不一樣,以前的好像是使用-sBuild="Debug Release"類似的參數,只有使用這--build-type=complete 才能編譯出Debug 和Release版本的庫,使用-sBuild不行。

等待吧,挺久的,聽說是2個小時。

編譯完后,D:\Boost下面的include和lib文件夾的東西,就是我們工程需要的東東了。

6.現在,Boost庫全部子庫假設已經編譯好了,得到D:\Boost\include和D:\Boost\lib,有兩個東東就可以在我們的工程里面使用Boost庫的功能了。

我們現在使用VC 6.0開發,得先把VC 6.0配置一下,如下:

在VC->Tools->Options->Directories->Include files 加上D:\Boost\include\boost-1_37\boost

在VC->Tools->Options->Directories->Library files 加上D:\Boost\lib

把上面先前設置過的,

在VC->Tools->Options->Directories->Include files里面增加D:\Boost\boost_1_37_0

刪掉。

然后打開上面先前編譯通過的工程,rebuild一下,是不是也可以編譯過去現在?

好了,現在可以使用VC 6.0來使用Boost庫作開發了。。。

轉載于:https://www.cnblogs.com/cy163/archive/2010/02/09/1666815.html

總結

以上是生活随笔為你收集整理的正则表达式 boost regexp的安装的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 一级片麻豆 | 一区二区三区av在线 | 日韩a视频| 欧美在线色图 | 男人天堂手机在线观看 | av一区二| 好大好舒服视频 | 激情四射网站 | 中文字幕 国产 | 日操夜操天天操 | 日本精品一二三区 | 最近高清中文在线字幕在线观看 | 最新地址av| 国产三级在线观看完整版 | 亚洲第一区在线 | 国产剧情精品 | av激情在线 | 在线亚洲一区二区 | 国产男男gay网站 | 91香蕉在线看 | 精品伦一区二区三区 | jizzjizz欧美69巨大 | 密乳av| 久久久精品国产免费爽爽爽 | 色5566| 91香蕉视频官网 | 天天夜夜操 | 乱淫的女高中暑假调教h | 中文字幕自拍偷拍 | 国产精品丝袜黑色高跟 | 男女插插插视频 | 99精品在线视频观看 | 久久亚洲av永久无码精品 | 好色综合 | 亚洲永久免费精品 | 日本一区二区不卡在线 | 亚洲av无码专区在线 | 久热青草| 天堂资源在线播放 | 精人妻无码一区二区三区 | 亚洲激情二区 | 国产美女一级片 | 91黄色看片| 国产精品一区二区三区四 | 极品少妇xxxx精品少妇 | 中文字幕第8页 | 毛片在线免费观看网址 | 重口味av | 欧美熟妇精品黑人巨大一二三区 | 欧美在线色视频 | 九一毛片 | 精品国产伦一区二区三区免费 | 精品在线91| 重囗味sm一区二区三区 | 免费污片软件 | 中国免费黄色片 | 亚洲一区播放 | 四季av国产一区二区三区 | 黄网站免费入口 | av大全在线观看 | 2019国产精品 | 国产精品一二三区视频 | 国产又爽又猛又粗的视频a片 | 在线日韩欧美 | 高清福利视频 | 日韩天天| 国产一区二区三区久久久 | 精品日韩在线观看 | 永久免费精品视频 | 日韩精品免费视频 | www.五月天婷婷 | 香蕉网站在线 | 日韩网站在线 | 神马影院一区二区三区 | 欧美.www | 伊人亚洲精品 | 777片理伦片在线观看 | 射网站| 国产成人精品一区 | 国产小视频一区 | 57pao国产精品一区 | 精品在线视频播放 | 伊人成人动漫 | 免费看的黄色 | 五月天综合色 | 欧美一区二区三区四区视频 | 亚洲乱码一区二区 | 国产一区免费在线 | 夜夜摸夜夜操 | 夜操操 | 日韩欧美成人免费视频 | 黄色网址视频在线观看 | 国产精品精品国产 | 色av吧| 秘密基地动漫在线观看免费 | 国产做爰视频免费播放 | 水蜜桃久久| 中文字幕99 | 日本三级韩国三级三级a级中文 |