[RegEx] Linking issues with boost 1.40.0 included directly in our tree
Hi, we use boost in our build, however, instead of using all of the Boost.Build and linking infrastructure, we integrate the source files directly into our build. We've always done things this way and had no problem. The implicit linking is a bit of a pain. However, now I have a strange issue. I am currently upgrading from 1.39.0 to 1.40.0, and am getting linking issues in the regex library. In particular, the linker is getting undefined references for boost::re_detail::perl_matcher in files where we create boost::regex and boost::regex_match objects. When I look through the source for the perl_matcher template, I can find it in the boost/regex/v4/perl_matcher.hpp include file, which we include within our build. I've also included the src/ and performance/ directories from boost/libs/regex in our build, and the linking still doesn't work. Perhaps someone has an incite into any preprocessor flags that I need to set in order to create an implementation for these missing functions in 1.40.0? Note, we had this working fine for 1.39.0, and I need to upgrade for a bugfix for a different boost library. thanks in advance, conrad
we use boost in our build, however, instead of using all of the Boost.Build and linking infrastructure, we integrate the source files directly into our build. We've always done things this way and had no problem. The implicit linking is a bit of a pain. However, now I have a strange issue.
I am currently upgrading from 1.39.0 to 1.40.0, and am getting linking issues in the regex library. In particular, the linker is getting undefined references for boost::re_detail::perl_matcher in files where we create boost::regex and boost::regex_match objects. When I look through the source for the perl_matcher template, I can find it in the boost/regex/v4/perl_matcher.hpp include file, which we include within our build. I've also included the src/ and performance/ directories from boost/libs/regex in our build, and the linking still doesn't work.
Building this way shouldn't be an issue - I do it all the time - but to recap the procedure is: * Make sure either BOOST_ALL_NO_LIB or BOOST_REGEX_NO_LIB is #defined when building. * Add the .cpp files in libs/regex/src to your build project, and make sure that they're built with the same options as the rest of your app. Any chance your project is still referencing the .cpp or .obj files from 1.39 or some such? HTH, John.
participants (2)
-
Conrad Whelan
-
John Maddock