使用boost时的未定义符号:C ++中的regex_error?

时间:2012-08-16 10:14:08

标签: c++ boost

我正在使用boost库进行正则表达式,我使用boost :: regex()函数来编译正则表达式。我必须捕获此函数调用抛出的异常。所以我在catch()中使用了boost:regex_error

但是使用此函数会出现以下错误:

undefined symbol: _ZTIN5boost11regex_errorE

上述错误的原因是什么?

2 个答案:

答案 0 :(得分:3)

您必须与boost_regex相关联。在GCC上,将-lboost_regex添加到链接器调用中。其他编译器将具有相同的选项。

答案 1 :(得分:1)

$ c++filt _ZTIN5boost11regex_errorE
typeinfo for boost::regex_error

所以缺少typeinfo。我认为您应该在启用RTTI(运行时类型信息)的情况下编译项目。

g++ undefined reference to typeinfo