hi,
while we try to compile gstreamer we got and error
error: storage size of 'stat_results' isn't known
and the reason is that because __stat64 is defined in
/usr/i686-pc-mingw32/sys-root/mingw/include/sys/stat.h
but only as :
----------------------------------------
#if __MSVCRT_VERSION__ >= 0x0601
struct __stat64
{
_dev_t st_dev;
_ino_t st_ino;
_mode_t st_mode;
short st_nlink;
short st_uid;
short st_gid;
_dev_t st_rdev;
__int64 st_size;
__time64_t st_atime;
__time64_t st_mtime;
__time64_t st_ctime;
};
#endif /* __MSVCRT_VERSION__ */
----------------------------------------
and at the same time in
/usr/i686-pc-mingw32/sys-root/mingw/include/_mingw.h :
----------------------------------------
#ifndef __MSVCRT_VERSION__
/* High byte is the major version, low byte is the minor. */
# define __MSVCRT_VERSION__ 0x0600
#endif
Farkas Levente wrote:
> may be it's not the right place to ask and would be better to move to
> mingw mailing list, but it's the right version?
> ie. the current runtime really not support __MSVCRT_VERSION__ >= 0x0601?
> thanks.No, it's just that the default version is 0x0600 to be compatible with old
installed versions of msvcrt.dll.
You can compile with -D__MSVCRT_VERSION__=0x0601, but then expect trouble on
systems which still ship the ancient 0x0600 version (e.g. Window$ 95 OSR 2,
I guess - the original Window$ 95 didn't include msvcrt.dll at all). I'm
not sure when the 0x0601 version was introduced nor whether it's worth
caring about the systems which shipped the 0x0600 version and never got
their msvcrt.dll upgraded by a newer M$VC application.
Kevin Kofler
Kevin Kofler wrote:
> Farkas Levente wrote:
>> may be it's not the right place to ask and would be better to move to
>> mingw mailing list, but it's the right version?
>> ie. the current runtime really not support __MSVCRT_VERSION__ >= 0x0601?
>> thanks.
>
> No, it's just that the default version is 0x0600 to be compatible with old
> installed versions of msvcrt.dll.
>
> You can compile with -D__MSVCRT_VERSION__=0x0601, but then expect trouble on
> systems which still ship the ancient 0x0600 version (e.g. Window$ 95 OSR 2,
> I guess - the original Window$ 95 didn't include msvcrt.dll at all). I'm
> not sure when the 0x0601 version was introduced nor whether it's worth
> caring about the systems which shipped the 0x0600 version and never got
> their msvcrt.dll upgraded by a newer M$VC application.
>why cares about win95 :-)
Kevin Kofler wrote:
> Farkas Levente wrote:
>> may be it's not the right place to ask and would be better to move to
>> mingw mailing list, but it's the right version?
>> ie. the current runtime really not support __MSVCRT_VERSION__ >= 0x0601?
>> thanks.
>
> No, it's just that the default version is 0x0600 to be compatible with old
> installed versions of msvcrt.dll.
>
> You can compile with -D__MSVCRT_VERSION__=0x0601, but then expect trouble on
> systems which still ship the ancient 0x0600 version (e.g. Window$ 95 OSR 2,
> I guess - the original Window$ 95 didn't include msvcrt.dll at all). I'm
> not sure when the 0x0601 version was introduced nor whether it's worth
> caring about the systems which shipped the 0x0600 version and never got
> their msvcrt.dll upgraded by a newer M$VC application.ok i know that and it's works, but the real question is:
do we want to support such old systems?
if not shouldn't we have to add
-D__MSVCRT_VERSION__=0x0601
(or even 0x0700) to macros.mingw32's %_mingw32_cflags?
so which windows version we'd like to support?
On Thu, Mar 19, 2009 at 10:14:02PM +0100, Farkas Levente wrote:
> Kevin Kofler wrote:
> > Farkas Levente wrote:
> >> may be it's not the right place to ask and would be better to move to
> >> mingw mailing list, but it's the right version?
> >> ie. the current runtime really not support __MSVCRT_VERSION__ >= 0x0601?
> >> thanks.
> >
> > No, it's just that the default version is 0x0600 to be compatible with old
> > installed versions of msvcrt.dll.
> >
> > You can compile with -D__MSVCRT_VERSION__=0x0601, but then expect trouble on
> > systems which still ship the ancient 0x0600 version (e.g. Window$ 95 OSR 2,
> > I guess - the original Window$ 95 didn't include msvcrt.dll at all). I'm
> > not sure when the 0x0601 version was introduced nor whether it's worth
> > caring about the systems which shipped the 0x0600 version and never got
> > their msvcrt.dll upgraded by a newer M$VC application.
>
> ok i know that and it's works, but the real question is:
> do we want to support such old systems?
> if not shouldn't we have to add
> -D__MSVCRT_VERSION__=0x0601
> (or even 0x0700) to macros.mingw32's %_mingw32_cflags?
> so which windows version we'd like to support?It's not a good idea to add this to _mingw32_cflags. Developers can
add it themselves when they want to deprecate these really old systems
for their own software.
Rich.
Just define __MSVCRT_VERSION__=0x0601
and that'll work for you.
I never tried win2k, but on WinXP and others msvcrt.dll
does have all the xxx64() functions that require
__MSVCRT_VERSION__ >= 0x0601Farkas Levente wrote:
> hi,
> while we try to compile gstreamer we got and error
> error: storage size of 'stat_results' isn't known
> and the reason is that because __stat64 is defined in
> /usr/i686-pc-mingw32/sys-root/mingw/include/sys/stat.h
> but only as :
> ----------------------------------------
> #if __MSVCRT_VERSION__ >= 0x0601
> struct __stat64
> {
> _dev_t st_dev;
> _ino_t st_ino;
> _mode_t st_mode;
> short st_nlink;
> short st_uid;
> short st_gid;
> _dev_t st_rdev;
> __int64 st_size;
> __time64_t st_atime;
> __time64_t st_mtime;
> __time64_t st_ctime;
> };
> #endif /* __MSVCRT_VERSION__ */
> ----------------------------------------
> and at the same time in
> /usr/i686-pc-mingw32/sys-root/mingw/include/_mingw.h :
> ----------------------------------------
> #ifndef __MSVCRT_VERSION__
> /* High byte is the major version, low byte is the minor. */
> # define __MSVCRT_VERSION__ 0x0600
> #endif
> ----------------------------------------
> may be it's not the right place to ask and would be better to move to
> mingw mailing list, but it's the right version?
> ie. the current runtime really not support __MSVCRT_VERSION__ >= 0x0601?
> thanks.
> yours.
>