From: Ulrich Eckhardt (uli_at_[hidden])
Date: 2005-06-30 14:30:56


On Thursday 30 June 2005 18:10, Alexander Balaev wrote:
> I downloaded the latest BOOST because I need regex to
> support UNICODE

It's just Unicode and Boost, both are not abbreviations AFAIK.

> (so I do have UNICODE and _UNICODE in
> the project settings)

Wait a second, these only affect the win32 API: it switches TCHAR from char to
wchar_t and in no way whatsoever affects boost (at least it shouldn't)! You
have the same extent of Unicode support in both modes.

> and release build is OK but in debug I have the errors
> LIBCMTD.lib(_wctype.obj) :
> error LNK2005: _iswalpha already defined in
> libboost_regex-vc6-mt-sgd-1_32.lib(c_regex_traits.obj)

Okay, if memory doesn't fail me, the 's' in '..-sgd-..' means static, but you
aren't linking statically, right? This might mean that the dynamic link
detection of boost's autolinking fails, did you #define _DLL anywhere?

> I found the workaraund at
> http://aspn.activestate.com/ASPN/Mail/Message/2509074
> but it doesn't work for me

Hmmm, if I understand that right, it simply doesn't inline some calls in debug
mode, which is a known issue. I have two ideas here, you could use __inline
or __forceinline (I forgot the exact name) for the compilation of the boost
lib or you could tell the linker to ignore the additional definitions.

BTW: this might have been more suitable for the users' mailinglist, but I'm
not sure.

Uli