Boost logo

Boost :

From: Robert Mathews (rmathews_at_[hidden])
Date: 2005-03-02 14:30:27


"John Maddock" <john_at_[hidden]> wrote in message
news:03ba01c51f23$5ebf5100$81800252_at_fuji...
> > Currently, if you try to compile a program that uses boost::regex
(either
> > boost versions 1.31 and 1.32) under the debug static runtime
> > library(libboost_regex-vc71-sgd-1_32.lib), you'll get a bunch of
multiply
> > defined symbols something like this:
> >
> > LIBCMTD.lib(_wctype.obj) : error LNK2005: _iswlower already defined in
> > c_regex_traits.obj
> > and so on for all of the character type macros: _iswalpha _iswupper
> > _iswlower _iswdigit _iswxdigit _iswspace _iswpunct _iswalnum _iswprint
> > _iswgraph _iswcntrl _iswascii
> >
> > This has been noticed before && stems from the fact that the inline
> > directive is ignored for debug mode, causing those inline functions to
> > exist
> > both in the C runtime library and in the regex lib. I found a note going
> > back to 2002 -
> > http://lists.boost.org/MailArchives/boost-users/msg01398.php - which
> > indicates that this problem is longstanding.
>
> I've been trying to reproduce this (again), but can't at present, can you
be
> more specific because linking with the static VC runtime definitely works
> for me. Are you defining _UNICODE when building the regex lib? If so can
> you try building the lib without _UNICODE defined and linking to that
> (defining _UNICODE basically has no effect as far as the regex internals
are
> concerned).
>
> John.
>
> _______________________________________________
> Unsubscribe & other changes:
http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk