[FFmpeg-devel] [PATCH]configure: Assume MSVCRT when compiling with MingW

Hendrik Leppkes h.leppkes at gmail.com
Sun Apr 22 02:29:39 EEST 2018

On Sun, Apr 22, 2018 at 1:02 AM, Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
> 2018-04-22 0:53 GMT+02:00, Reino Wijnsma <rwijnsma at xs4all.nl>:
>> On 21-4-2018 22:43, Carl Eugen Hoyos <ceffmpeg at gmail.com> wrote:
>>> Attached patch is supposed to fix an old issue with debug messages and
>>> a currently reported compilation warning that I believe also indicates
>>> a possible abort() on Windows:
>>> libavformat/hlsenc.c:1676:63: warning: unknown conversion type
>>> character 's' in format
>>> Patch untested.
>>> Please review, Carl Eugen
>> I'm hardly an expert, but I'm not sure this is a good idea.
>> After configuring FFmpeg summarizes:
>> [...]
>> C library                 msvcrt
>> [...]
>> This has always been "mingw64" before. And next:
>> $ make libavformat/hlsenc.o
>> CC      libavformat/hlsenc.o
>> In file included from ./libavutil/common.h:491:0,
>>                  from ./libavutil/avutil.h:296,
>>                  from ./libavutil/avassert.h:31,
>>                  from libavformat/hlsenc.c:36:
>> ./libavutil/internal.h:250:10: fatal error: crtversion.h: No such file or
>> directory
> Thank you for testing.

To clarify: The C library flag controls both the build and runtime
environment, not only the runtime environment. Usually thats
identical, but in the case of mingw it is not, so extra care has to be

> Note that I believe the warning indicates a possible
> crash on runtime.

It would only crash if you use the security-enhanced versions of the
format functions (ie. with a _s suffix), which we obviously don't.
That particular code in hlsenc has always been very weird though,
maybe configure should just check support for that format code instead
of somehow probing that at runtime.

- Hendrik

More information about the ffmpeg-devel mailing list