These versions of Visual Studio don't have stdint.h and
all [u]intNN_t types. But now these types are everywhere
in FLAC codebase.

An easy fix would be to move definitions of these types
from share/compat.h into FLAC/ordinals.h (see attached
patch).
But it may break some 3rd party programs that include
(directly or indirectly) this file and also have their
own typedefs for these types.

(Also, currently FLAC/ordinals.h contains some nonsense
like "typedef uint32_t __int32 FLAC__uint32;", but that's
not a real problem)


So, what to do?

1) include share/compat.h where needed (but it's too big,
and even indirectly includes <windows.h>).

2) create a new file compat_stdint.h or compat_inttypes.h
that has only necessary definitions and include it.

3) apply the attached patch and hope that it has the most
compatible definitions for these types.

4) drop MSVC 2005/2008 support.

5) revert some changes of integer types to [u]intNN_t.

Attachment: ordinals_fix.patch
Description: Binary data

_______________________________________________
flac-dev mailing list
flac-dev@xiph.org
http://lists.xiph.org/mailman/listinfo/flac-dev

Reply via email to