1

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

但是使用此功能会出现以下错误:

undefined symbol: _ZTIN5boost11regex_errorE

上述错误的原因是什么?

4

2 回答 2

3

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

于 2012-08-16T10:20:33.153 回答
1
$ c++filt _ZTIN5boost11regex_errorE
typeinfo for boost::regex_error

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

或者

g ++未定义对typeinfo的引用

于 2012-08-16T10:18:14.000 回答