[FFmpeg-devel] [PATCH v8 0/3] Support long file names on Windows

Martin Storsjö martin at martin.st
Thu Jun 9 23:21:58 EEST 2022


On Thu, 9 Jun 2022, nil-admirari at mailo.com wrote:

>> This looks fine to me, and the discussion seems to have converged, so I'll
>> go ahead and push this.
>
> Build is now failing: https://github.com/yt-dlp/FFmpeg-Builds/runs/6819319105?check_suite_focus=true.
>
> In file included from /opt/ct-ng/i686-w64-mingw32/sysroot/mingw/include/dshow.h:33,
>                 from libavcodec/mf_utils.h:32,
>                 from libavcodec/mfenc.c:26:
> ./libavutil/wchar_filename.h: In function 'add_extended_prefix':
> ./libavutil/wchar_filename.h:211:9: error: 'wcscpy_instead_use_StringCbCopyW_or_StringCchCopyW' undeclared (first use in this function)
>  211 |         wcscpy(temp_w, unc_prefix);
>      |         ^~~~~~
> ./libavutil/wchar_filename.h:211:9: note: each undeclared identifier is reported only once for each function it appears in

This error isn't reproducible in git master - it's triggered by your 
yet-unmerged patches (that include wchar_filename.h in w32dlfcn.h).

> Incompatible pointer types warning is still there as well:
>
> In file included from ./libavformat/internal.h:30,
>                 from libavdevice/alldevices.c:21:
> ./libavformat/os_support.h: In function 'win32_stat':
> ./libavformat/os_support.h:241:36: warning: passing argument 2 of '_wstat64' from incompatible pointer type [-Wincompatible-pointer-types]
>  241 |         ret = _wstat64(filename_w, &crtstat);
>      |                                    ^~~~~~~~
>      |                                    |
>      |                                    struct _stati64 *
> In file included from ./libavformat/os_support.h:32,
>                 from ./libavformat/internal.h:30,
>                 from libavdevice/alldevices.c:21:
> /opt/ct-ng/i686-w64-mingw32/sysroot/mingw/include/sys/stat.h:129:69: note: expected 'struct _stat64 *' but argument is of type 'struct _stati64 *'
>  129 |   _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat);
>      |                                                     ~~~~~~~~~~~~~~~~^~~~~

This I can indeed reproduce now. I did build these patches in a couple 
other environments (both mingw and msvc) where those warnings didn't 
appear, but now I managed to find one that shows those warnings.

// Martin



More information about the ffmpeg-devel mailing list