VC下编译的几个小问题
From Ffmpeg工程组
问题一:
下面的c语句,如何修改,可以使之在Vc下编译通过? return 0.0/0.0;
对应解答:
return INT64_MAX; 或者return 0.0;
问题二:
下面的c语句,如何修改,可以使之在Vc下编译通过? #define tprintf(...) av_log(NULL, AV_LOG_DEBUG, __VA_ARGS__) 中间的三个小点不支持。。。也就是不支持变长参数
对应解答:
#ifdef __GNUC__
#define tprintf(...) {}
#else
static void tprintf(char *msg,...){}
#endif
问题三:
句法修改的问题
AVInputFormat mpegts_demuxer =
{
"mpegts",
"MPEG2 transport stream format",
sizeof(MpegTSContext),
mpegts_probe,
mpegts_read_header,
mpegts_read_packet,
mpegts_read_close,
read_seek,
mpegts_get_pcr,
.flags = AVFMT_SHOW_IDS,
};
对应解答:
把该结构的其他值,都添上了,然后就直接
{
.....
....
.....
AVFMT_SHOW_IDS
}
应该可以了。
有关该问题的讨论帖可参考ffmpeg工程组论坛中的相关讨论:
有关VC下编译的几个小问题的讨论
