|
Boost : |
From: Giovanni Bajo (giovannibajo_at_[hidden])
Date: 2002-07-11 12:38:07
Hello,
I eventually succeeded building the Regex library with Comeau+MSVC7 (with
bjam). These are the patches required:
- Last CVS version of "instances.hpp" (as spotted by someone else in another
thread a week ago)
- The following lines need to be added to regex/config.hpp (search for a
similar line for __MWERKS__):
#ifdef __COMO__
# define BOOST_REGEX_NO_EXTERNAL_TEMPLATES
#endif
which disables the explicit instantiation of some templates (which do not
end up in the final library for some reason, but the user program would
still be looking for them there).
- como-tools.jam, in the como-Arvhive-action, is trying to create an
executable instead of a library, and I'm not sure why. To fix it, I
decommented the line that creates the library through MSVC "link /lib",
which appears to work. This might be the reason why the above templates
don't get instantiated. You also need to add "-tlocal" to both the Cc and
C++ actions, to make sure the stdlib/regex template specializations used by
the library code really make it to the library (and "-tlocal" instead of
"-tused" makes sure that they don't name-clash if they are used also in the
user program).
I'm positive this is NOT the correct solution. I'd like to see the template
explicit instantiation machery working as required/appropriate, probably the
whole problem boils down to como refusing to create the library and thus
missing the prelinker steps (just a guess). However, this made the thing
compile & work.
Giovanni Bajo
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk