Subject: | Some Microsoft Compilers still need the '.h' extension to iostream |
Hi,
The bad news is that I don't know exactly which MS compilers need the
'.h' extension (iostream.h) and which ones can accept simply iostream.
The good news is, that I think *all* MS compilers are capable of
handling 'iostream.h', though I could be wrong about this. (Time may tell.)
My suggestion is that (in addition to my earlier bug report today), in
the 0.29 CPP.pm, we replace the commented out:
# $iostream .= ".h" unless $o->{ILSM}{STD_IOSTREAM};
with:
if($o->{ILSM}{MAKEFILE}{CC} =~ /^cl/) {
$iostream .= ".h" unless $o->{ILSM}{STD_IOSTREAM};
}
and see how it goes.
Seems that the "Microsoft Platform SDK for Windows Server 2003 R2"
compiler (which is the compiler used to build 64-bit ActivePerl) needs
to be looking for iostream.h. I get all sorts of bizarre errors if it
goes looking for iostream.
My Visual Studio 7.0 compiler (32 bit) doesn't seem to care whether it's
told to find iostream or iostream.h .... which leads me to speculate
that, while *all* MS compilers might not find 'iostream' acceptable,
*none* will choke over 'iostream.h'.
(That's the best speculation that I can come up with ... but it *is*
just speculation.)
Cheers,
Rob