我正在使用boost库正则表达式,我用boost :: regex()函数来编译正则表达式。我必须捕获这个函数调用抛出的异常。所以我在catch()中使用boost:regex_error
。在C++中使用boost:regex_error时未定义的符号?
但使用这个功能给出以下错误:
undefined symbol: _ZTIN5boost11regex_errorE
什么是上述错误的原因是什么?
我正在使用boost库正则表达式,我用boost :: regex()函数来编译正则表达式。我必须捕获这个函数调用抛出的异常。所以我在catch()中使用boost:regex_error
。在C++中使用boost:regex_error时未定义的符号?
但使用这个功能给出以下错误:
undefined symbol: _ZTIN5boost11regex_errorE
什么是上述错误的原因是什么?
您有boost_regex
链接。在GCC上,将-lboost_regex
添加到您的链接器调用中。其他编译器将有相同的选项。
$ c++filt _ZTIN5boost11regex_errorE
typeinfo for boost::regex_error
因此缺少typeinfo。我认为你应该使用RTTI(运行时类型信息)启用编译你的项目。
或
你需要链接boost boost正则表达式库(你必须先构建)。 – hmjd 2012-08-16 10:18:14