Nea*_*l P 6 c++ regex gcc boost
我在Ubuntu上使用boost 1.45.0,Code :: Blocks作为我的IDE,我无法编译basic_regex.hpp.我很确定我正确设置了boost,因为我可以使用boost :: format编译程序而不会出现任何错误.但我得到了这个恼人的错误,我不知道如何摆脱它.
引发错误的代码:
boost::regex e("\"http:\\\\/\\\\/localhostr.com\\\\/files\\\\/.+?\"");
Run Code Online (Sandbox Code Playgroud)
编译器输出(GCC):
obj/Debug/main.o
In function `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::assign(char const*, char const*, unsigned int)'
/home/neal/Documents/boost_1_45_0/boost/regex/v4/basic_regex.hpp|379|
undefined reference to `boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::do_assign(char const*, char const*, unsigned int)'|
||=== Build finished: 1 errors, 0 warnings ===|
Run Code Online (Sandbox Code Playgroud)
设置提升时我是否错过了一个步骤,还是应该降级到另一个版本的提升?
Boost :: Regex有一些代码存在于一个单独的库中(libboost_regex.so).要链接它,请添加-lboost_regex到您正在使用的GCC命令行.
根据您的安装,可能是libboost_regex-mt.so.在这种情况下,您需要-lboost_regex-mt在命令行上使用.(MT代表多线程.)