[vlc-devel] Win64 patch and format

Rafaël Carré rafael.carre at gmail.com
Wed Sep 2 16:25:08 CEST 2009


On Wed, 2 Sep 2009 16:08:44 +0200
Jean-Baptiste Kempf <jb at videolan.org> wrote:

> Hello,

Hi,

> In order to make VLC to compile for Win64, I had to modify a bit
> include/vlc_common.h

> +#if defined( _WIN64 ) && defined( __USE_MINGW_ANSI_STDIO )
> + #undef PRId64
> + #define PRId64 "lld"
> + #undef PRIi64
> + #define PRIi64 "lli"
> + #undef PRIu64
> + #define PRIu64 "llu"
> +#endif

Where and to what were those defined before you undef them (in
inttypes.h ?)


>  /* Format string sanity checks */
>  #ifdef __GNUC__
> +# ifdef _WIN64
> +#   define LIBVLC_FORMAT(x,y) __attribute__
> ((format(gnu_printf,x,y))) +# else
>  #   define LIBVLC_FORMAT(x,y) __attribute__ ((format(printf,x,y)))
> +# endif

LIBVLC_FORMAT should be consistant wether we build for win64 or not.

__msg_Generic takes a "gnu printf" format (%m) so we might want to use
it.

Other functions might take a stricter format and we would want a
warning in case a GNU extension is used, so we could have 2 formats
(gnu & standard).

> ====
> 
> There is NO need to scream, tell me that this isn't a good solution
> or that the compiler is broken or get upset.

FOR PRI* IT COULD BE THE MINGW HEADERS? I DONT KNOW WE NEED TO CHECK

> We have no other compiler that can compile almost all the modules of
> VLC for Win64 and it seems a bit too oriented to MSVC.
> 
> If you have a good idea to ease the above patch integration, please
> say so.
> 
> 
> Btw: VLC runs on Win64 with 350 modules compiled:
> http://people.videolan.org/~jb/Win64/VLC_Win64_1strun.jpg
> It does output audio, but stalls unless you give --no-video
> FFmpeg and Qt4 are missing...

For FFmpeg you might want to talk with Ramiro

> Best Regards,
> 



-- 
Rafaël Carré
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20090902/cc3cbdaa/attachment.sig>


More information about the vlc-devel mailing list