2012-08-16 53 views
1

我正在使用boost库正则表达式,我用boost :: regex()函数来编译正则表达式。我必须捕获这个函数调用抛出的异常。所以我在catch()中使用boost:regex_error在C++中使用boost:regex_error时未定义的符号?

但使用这个功能给出以下错误:

undefined symbol: _ZTIN5boost11regex_errorE 

什么是上述错误的原因是什么?

+0

你需要链接boost boost正则表达式库(你必须先构建)。 – hmjd 2012-08-16 10:18:14

回答

2

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

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

因此缺少typeinfo。我认为你应该使用RTTI(运行时类型信息)启用编译你的项目。

g++ undefined reference to typeinfo