From: "D. R. Evans" <[EMAIL PROTECTED]>
> > Thanks. Is this also specific to MSVC? Sould I do
> > "#if (defined(_MSC_VER) && defined(_STLP_VERSION))" around this
workaround?
>
> It wasn't needed when I did the build with g++ 3.2 and STLport. (The build
> that led to my post of yesterday.)
Thanks, I was just compiling with gcc to check. From the messages on the
STLport forum, it appears that this workaround is only necessary because of
a deficiency in Visual C++. (I guess there might be other compilers with
this problem, but I don't know what they are).
I just looked through the STLport source, and they guard their
__stl_alloc_rebind functions with
#if !defined (_STLP_MEMBER_TEMPLATE_CLASSES)
so I guess it would be correct to do:
#if defined(_STLPORT_VERSION) && !defined(_STLP_MEMBER_TEMPLATE_CLASSES)
I just tested this on vc7/stlport and it worked correctly. I haven't tested
it on any other configurations.
The define for STLport is _STLPORT_VERSION, not _STLP_VERSION... I was
writing from memory before and I got it wrong.
Eric