Jeff McWilliams wrote:
> Okay, I'm compiling with the VS.NET 2005 Beta 2 compiler after patching
> the 8.4.9 release code with Pat Thoyt's VC++ 8 patch from SourceForge.
>
> Pat Thoyt passes -DUSE_32BIT_TIME_T to the compiler to try and get it to
> not use a 64-bit value for time_t, stating in his VC8 patch
> that TCL can't handle it.
>
> When I'm building with the VS.NET 2005 64-bit compiler, compilation
> immediately fails.
>
> If you look at Vc\Include\crtdefs.h in the Visual Studio 8 install dir,
> it has the following:
>
> #ifdef _USE_32BIT_TIME_T
> #ifdef _WIN64
> #error You cannot use 32-bit time-t (_USE_32BIT_TIME_T) with _WIN64
> #undef _USE_32BIT_TIME_T
> #endif
> ...
> it would appear that with this C runtime it's no longer possible to use
> a 32-bit time_t. Any ideas?
I would question why he thought Tcl can't handle a 64-bit time_t.
It certainly can - and has with platforms like Solaris 64 for
years. There may be a Windows-specific 64-bit time issue (as
some of the clock stuff is Windows-only). However, I did make a
patch recently to correct a 64-bit issue on Windows (compiling
for Win-ia64) that may have been related.
I would go on the assumption that 64-bit time_t works, and fix
Tcl if necessary, not trick out some headers.
--
Jeff Hobbs, The Tcl Guy
http://www.ActiveState.com/, a division of Sophos
Received on Thu Sep 29 14:19:23 2005