Fw: Re: [regex]using boost::regex with STLport 5.0 on VS.net
I think there would better be a way to prevent other people - as stupid as me :) - from making the same low-level mistake.
The posible solution may be a check of the STLport macros in building with STLport toolsets.
> > > sorry, the error msg is:
> > >
> > > BoostTest.obj : error LNK2019: missing symbol "void __cdecl
> > > boost::re_detail::raise_runtime_error(class _STL::runtime_error
> > > const &)"
> Errors like this usually arise either because:
> 1) You haven't defined __STL_DEBUG when building a debug build (the prebuilt
> lib's do this so you have to in order to link to them). However if this is
> the case you should have got a #error from the autolinking code telling you
> of the problem.
YES, I have defined the __STL_DEBUG macro for the debug build.
> 2) You're build of Boost did not in fact get built against STLport. Try
> taking a peek at the symbols defined in the libraries to see if they're
> using _STL or _STLD names (from STLport) or std:: names (from VC++). Also
> try building with bjam and the -d2 option so you can see the command lines
> generated and verify that all the paths are in fact correct.
GREAT! That really helps. Using a text editor, I cannot find _STL or _STLD names in a should-be STLport linked lib, but I can find "std"!
Everything gets ok after I adding 2 lines into the build batch file: