Hi,

I am trying to upgrade from Boost 1.73 to Boost 1.76 and down to only one consumer left that will
not build. This appears to be an issue with Boost::regex.

I noticed this in the Boost 1.76 release notes..

"Regex is now header only except in C++03 mode."

Clang defaults to C++14, but I noticed BOOST_REGEX_CXX03 is defined. The project does not
specify a particular C++ version so it should be using C++14.

The functions below exist in the Boost 1.73 Boost::regex library but not in the 1.76
library.

The project in question uses the function regex_match().

Any hints as to how to resolve this?

ld: error: undefined symbol: boost::scoped_static_mutex_lock::scoped_static_mutex_lock(boost::static_mutex&, bool)
>>> referenced by Config.cpp
>>>              Config.o:(boost::object_cache<boost::re_detail_500::cpp_regex_traits_base<char>, boost::re_detail_500::cpp_regex_traits_implementation<char> >::get(boost::re_detail_500::cpp_regex_traits_base<char> const&, unsigned long))
>>> referenced by Config.cpp
>>>              Config.o:(boost::cpp_regex_traits<char>::get_catalog_name())
>>> referenced by Config.cpp
>>>              Config.o:(boost::re_detail_500::save_state_init::~save_state_init())
>>> referenced 2 more times

ld: error: undefined symbol: boost::scoped_static_mutex_lock::~scoped_static_mutex_lock()
>>> referenced by Config.cpp
>>>              Config.o:(boost::object_cache<boost::re_detail_500::cpp_regex_traits_base<char>, boost::re_detail_500::cpp_regex_traits_implementation<char> >::get(boost::re_detail_500::cpp_regex_traits_base<char> const&, unsigned long))
>>> referenced by Config.cpp
>>>              Config.o:(boost::object_cache<boost::re_detail_500::cpp_regex_traits_base<char>, boost::re_detail_500::cpp_regex_traits_implementation<char> >::get(boost::re_detail_500::cpp_regex_traits_base<char> const&, unsigned long))
>>> referenced by Config.cpp
>>>              Config.o:(boost::cpp_regex_traits<char>::get_catalog_name())
>>> referenced 5 more times
c++: error: linker command failed with exit code 1 (use -v to see invocation)

_______________________________________________
Boost-users mailing list
Boost-users@lists.boost.org
https://lists.boost.org/mailman/listinfo.cgi/boost-users

Reply via email to