我正在尝试编译我在 linux 上使用正则表达式的程序。我通过键入 make -fgcc.mak 在 libs/regex/build 中构建了 boost 库,它创建了一个包含以下四个文件的目录 gcc
boost_regex-gcc-1_35
boost_regex-gcc-d-1_35
libboost_regex-gcc-1_35.a
libboost_regex-gcc-d-1_35.a
现在我想使用我的程序中的正则表达式,它位于某个任意目录中。我#included boost/regex.hpp
我收到错误消息,指出找不到 regex.hpp。然后我在 g++ 编译器中给出了 -I 选项。我没有得到那个错误。但我收到以下错误
undefined reference to `boost::re_detail::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
我用谷歌搜索,发现我需要以某种方式将上述 4 个库之一链接到我的程序。我该怎么做。我应该链接哪一个,为什么?