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

Reply via email to