在学习正则表达式后,我急切地想要通过编程来实现一些功能。通过网上的一番查阅得知boost.regex库中提供了我所要的东西。毫不夸张,我因为知道了boost这个库而高兴了好几天。。。
那么,进入正题,要使用boost库必须要做些麻烦事情而不是一个include就能了结了。事实上,当你完成一次安装以后,你会发觉何其容易。
官方给出regex库的安装步骤,虽然我根据这个步骤没有做成功,但官方的步骤应该不会有问题,可能是我设置依赖库目录上的问题。
网址:http://www.boost.org/doc/libs/1_49_0/libs/regex/doc/html/boost_regex/install.html
找到MicrosoftVisual C++ 6, 7, 7.1 and 8,写的相当详尽。
下面给出我自己的操作步骤供大家参考:
1) 下载:
到www.boost.org上下载boost(我下载的版本是boost_1_49_0)
2) 解压:
解压的目录官方说随便哪里,但为了方便起见我直接解压到c盘下,(目录:C:\boost_1_49_0,如果你存放的目录与我不同,下面的步骤中也全都要改成你存放的目录)
注意:步骤3)和步骤4)在Visual Studio 的命令提示框下完成
命令提示框的打开方式(VS2008):开始->所有程序->Microsoft Visual Studio 2008->Visual Studio Tools->VisualStudio 2008 命令提示
3) 生成bjam:
1、 在命令提示框下输入cd C:\boost_1_49_0
2、 在命令提示框下输入 bootstrap.bat
3、 查看目录cd C:\boost_1_49_0,正确的话多了三样东西:b2.exe,bjam.exe,bootstrap.log
4) 编译所需要的库
注意:这一步其实因人而异,看你需要用到boost下的多少个库,如果怕麻烦就全部编译(即在命令提示框下输入:bjam.exe)。耗时一小时左右,(喝咖啡去吧)。
我的方法是编译特定库
1、 在命令提示框下输入:bjam --toolset=msvc --with-regexstage(一怀怀就好)
2、 查看目录cd C:\boost_1_49_0:正确的话多两个目录:bin.v2和stage
3、 查看目录C:\boost_1_49_0\stage\lib: 正确的话有两个lib:libboost_regex-vc90-mt-1_49.lib和libboost_regex-vc90-mt-gd-1_49.lib
5) 设置“包含(include)目录”和“库(lib)目录”
注:这一步实则很简单,但却困扰了我2个小时之多
在编译你自己写的引用regex库的程序中出现类似错误:fatal error C1083: 无法打开包括文件:“boost\regex.hpp”:No such file or directory都是由于这一步导致的,而我一直怀疑是编译regex库时出了什么错,折腾地苦啊。。。
具体设定(前提你已经在VS2008下创建好一个“win32控制台应用程序”项目)
1、 设置include依赖目录:项目->“项目名”属性->C++->常规->附加包含目录,通过目录选择填入C:\boost_1_49_0
2、 设置lib依赖目录:项目->“项目名”属性->连接器->常规->附加库目录,复制目录C:\boost_1_49_0\stage\lib到此处
6) 写个程序运行下试试咯
最简单的办法写一句#include <boost/regex.hpp>,通过编译的话,那你就大功告成拉,哈哈