Re: VC6 + Dinkumware fixes OK for basic STL usage?
 
P.J. Plauger wrote:
I assume that you can get the binaries for each of the compilers VC6, 
VC7.1, VC8 ? (I don't care about VC7, not many do.)
IIRC, we include all these binaries in our $200 binary product. Not
sure, after all these months, what's in the V-express package. But
the headers certainly adapt to all compilers.
But what is in these binaries? When I got the VC6 patches, I noted a 
warning on the site that there could be a problem with dynamic linking 
because MSVCP60.DLL contained the unpatched versions. Since I use static 
linking, I didn't worry about it, assuming that there were not 
corresponding static libraries in the static linking case. Was this wrong?
No, that's correct. If you just patch the Microsoft-supplied headers,
you're still at the mercy of the DLLs and/or static libraries. For
some reason, Microsoft has never published a way to rebuild the DLLs
in the field. Since many of the bugs have been captured in DLL code,
you're outa luck.
In our case, we supply DLLs and binary libraries that supercede
Microsoft stuff, so we can supply fixed versions.
If binaries for static linking of V-express are required, why do you not 
provide them?
They're not required. That's just one linking option.
          And if I have to build them myself, where is the source to 
build them from? In the VC distributions I see source for MFC and CRT, but 
not for the C++ library.
You can license our source and build all sorts of configurations. But
the source is rather more expensive than the binaries. The idea behind
the V-express package was to give customers a cheap way to try out
our latest offering, including the most asked for part of TR1.
I guess I am a bit confused about these binaries :).
PJ:
I have to say that I am still confused:
1. From what you say, there IS a C++ static library in VC6 (what is its 
name?), but that it is not affected by the patches. This is why I have 
gotten away with just applying the patches in my static-linked programs. 
OTOH, the dynamic linking DLL version would be changed by the patches 
(because it contains std::string content, I believe), so it is a problem 
(and one that cannot be solved because MS has never released how to 
rebuild the DLL).
2. Are you saying that no libraries are required for static linking with 
the V-express edition? Or that they are not "required" because you have 
the option of dynamic linking? This is a show-stopper for me. It's like 
Henry Ford's "You can get the car in any color you like, as long as it 
is black". If you provide DLL's, why would you not provide also the 
corresponding static libraries?
For $80 I would certainly buy this if I could do either static or 
dynamic linking in each of VC6, VC7.1 and VC8. Otherwise, probably not.
I think the ability to use the V-express library with VC6 could be a big 
selling point, because there are many applications (three of mine for 
example) that are still maintained in VC6. But for me, it is only useful 
if you can use static linking.
David Wilkinson