C++ 使用boost时未定义符号:C++;?

C++ 使用boost时未定义符号:C++;?,c++,boost,C++,Boost,我使用boost库来编译正则表达式,我使用boost::regex()函数来编译正则表达式。我必须捕获此函数调用引发的异常。所以我在catch()中使用了boost:regex\u error 但使用此函数会产生以下错误: undefined symbol: _ZTIN5boost11regex_errorE 以上错误的原因是什么 $ c++filt _ZTIN5boost11regex_errorE typeinfo for boost::regex_error 所以typeinfo丢失了

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

但使用此函数会产生以下错误:

undefined symbol: _ZTIN5boost11regex_errorE
以上错误的原因是什么

$ c++filt _ZTIN5boost11regex_errorE
typeinfo for boost::regex_error
所以typeinfo丢失了。我认为您应该在编译项目时启用RTTI(运行时类型信息)

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


您必须链接到
boost\u regex
。在GCC上,将
-lboost\u regex
添加到链接器调用中。其他编译器将有相同的选项。

您必须链接到
boost\u regex
。在GCC上,将
-lboost\u regex
添加到链接器调用中。其他编译器将有相同的选项。

您需要链接boost regex库(必须首先构建)。您需要链接boost regex库(必须首先构建)。