我正在尝试针对 boost::regex 库进行编译,但是一旦我尝试使用 regex_search() 函数,它就会出错:
$ g++ -Wall -L/cygdrive/c/Users/Adrian/Downloads/boost_1_53_0/stage/lib -std=c++0x exec.cpp -lboost_regex -o exec
exec.cpp: In function ‘int main(int, char**, char**)’:
exec.cpp:32:3: error: ‘regex_serach’ is not a member of ‘boost’
makefile:3: recipe for target `exec' failed
make: *** [exec] Error 1
这是导致此错误的一些示例代码:
#include <boost/regex.hpp>
int main(int argc, char* argv[], char* env[])
{
typedef boost::match_results<string::const_iterator> matches_t;
typedef matches_t::const_reference match_t;
boost::regex x("");
string str;
matches_t what;
boost::match_flag_type flags = boost::match_default;
boost::regex_serach(str.begin(), str.end(), what, x, flags);
return 0;
}
第 32 行是 regex_search 所在的行。cygwin下的g++版本是4.5.3。升压版本是 1.53。如果我注释掉 regex_search 行,它编译得很好。想法?