[RegEx] Linking issues with boost 1.40.0 included directly in our tree

View: New views
2 Messages — Rating Filter:   Alert me  

[RegEx] Linking issues with boost 1.40.0 included directly in our tree

by Conrad Whelan :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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
_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: [RegEx] Linking issues with boost 1.40.0 included directly in our tree

by John Maddock :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> 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.

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