Opened 3 years ago

Closed 3 years ago

#5640 closed defect (fixed)

FFmpeg build error from os_support.h

Reported by: kgp700 Owned by:
Priority: important Component: undetermined
Version: git-master Keywords: regression
Cc: Blocked By:
Blocking: Reproduced by developer: no
Analyzed by developer: no

Description

Summary of the bug:
Build error from os_support.h

I think issue from commit https://github.com/FFmpeg/FFmpeg/commit/37787f261639c53998487400e874741c17e85fc6

Build environment
Ubuntu 14.04LTS (mingw-w64-build-3.6.7)
GCC 5.2.0
Build platform : Windows x86,x64 (cross compile)

In file included from ./libavformat/os_support.h:112:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/decklink_enc.cpp:29:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h [-Wcpp]
 #warning Please include winsock2.h before windows.h
  ^
In file included from ./libavformat/os_support.h:112:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/decklink_dec.cpp:30:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h [-Wcpp]
 #warning Please include winsock2.h before windows.h
  ^
In file included from ./libavformat/os_support.h:112:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/decklink_common.cpp:34:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/winsock2.h:15:2: warning: #warning Please include winsock2.h before windows.h [-Wcpp]
 #warning Please include winsock2.h before windows.h
  ^
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/dshow.c:26:
./libavformat/os_support.h: In function 'win32_stat':
./libavformat/os_support.h:196:29: warning: passing argument 2 of '_wstat64' from incompatible pointer type [-Wincompatible-pointer-types]
     ret = wfunc(filename_w, par);                         \
                             ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
In file included from ./libavformat/os_support.h:32:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/dshow.c:26:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/sys/stat.h:129:23: note: expected 'struct _stat64 *' but argument is of type 'struct _stati64 *'
   _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat);
                       ^
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/dshow.c:26:
./libavformat/os_support.h:202:33: warning: passing argument 2 of '_stat64' from incompatible pointer type [-Wincompatible-pointer-types]
     return afunc(filename_utf8, par);                     \
                                 ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
In file included from ./libavformat/os_support.h:32:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/dshow.c:26:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/sys/stat.h:97:23: note: expected 'struct _stat64 *' but argument is of type 'struct _stati64 *'
   _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat);
                       ^
CC	libavdevice/dshow_filter.o
CC	libavdevice/gdigrab.o
CC	libavdevice/lavfi.o
CC	libavdevice/dshow_pin.o
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/decklink_common.cpp:34:
./libavformat/os_support.h: In function 'int win32_stat(const char*, _stati64*)':
./libavformat/os_support.h:196:32: error: cannot convert '_stati64*' to '_stat64*' for argument '2' to 'int _wstat64(const wchar_t*, _stat64*)'
     ret = wfunc(filename_w, par);                         \
                                ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
./libavformat/os_support.h:202:36: error: cannot convert '_stati64*' to '_stat64*' for argument '2' to 'int _stat64(const char*, _stat64*)'
     return afunc(filename_utf8, par);                     \
                                    ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/decklink_enc.cpp:29:
./libavformat/os_support.h: In function 'int win32_stat(const char*, _stati64*)':
./libavformat/os_support.h:196:32: error: cannot convert '_stati64*' to '_stat64*' for argument '2' to 'int _wstat64(const wchar_t*, _stat64*)'
     ret = wfunc(filename_w, par);                         \
                                ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
./libavformat/os_support.h:202:36: error: cannot convert '_stati64*' to '_stat64*' for argument '2' to 'int _stat64(const char*, _stat64*)'
     return afunc(filename_utf8, par);                     \
                                    ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
make: *** [libavdevice/decklink_common.o] Error 1
make: *** Waiting for unfinished jobs....
libavdevice/decklink_enc.cpp: In member function 'virtual ULONG decklink_frame::Release()':
libavdevice/decklink_enc.cpp:58:102: warning: deleting object of polymorphic class type 'decklink_frame' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
     virtual ULONG   STDMETHODCALLTYPE Release(void)                           { if (!--_refs) delete this; return _refs; }
                                                                                                      ^
libavdevice/decklink_enc.cpp: In function 'int decklink_setup_video(AVFormatContext*, AVStream*)':
libavdevice/decklink_enc.cpp:95:29: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVCodecContext *c = st->codec;
                             ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:95:29: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVCodecContext *c = st->codec;
                             ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:95:29: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVCodecContext *c = st->codec;
                             ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp: In function 'int decklink_setup_audio(AVFormatContext*, AVStream*)':
libavdevice/decklink_enc.cpp:145:29: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVCodecContext *c = st->codec;
                             ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:145:29: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVCodecContext *c = st->codec;
                             ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:145:29: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVCodecContext *c = st->codec;
                             ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp: In function 'int ff_decklink_write_trailer(AVFormatContext*)':
libavdevice/decklink_enc.cpp:202:21: warning: deleting object of polymorphic class type 'decklink_output_callback' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
         delete ctx->output_callback;
                     ^
libavdevice/decklink_enc.cpp: In function 'int decklink_write_video_packet(AVFormatContext*, AVPacket*)':
libavdevice/decklink_enc.cpp:235:75: warning: 'AVPicture::data' is deprecated [-Wdeprecated-declarations]
     av_image_copy(tmp->data, tmp->linesize, (const uint8_t **) avpicture->data,
                                                                           ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_enc.cpp:28:
./libavcodec/avcodec.h:3832:39: note: declared here
     uint8_t *data[AV_NUM_DATA_POINTERS];    ///< pointers to the image data planes
                                       ^
libavdevice/decklink_enc.cpp:235:75: warning: 'AVPicture::data' is deprecated [-Wdeprecated-declarations]
     av_image_copy(tmp->data, tmp->linesize, (const uint8_t **) avpicture->data,
                                                                           ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_enc.cpp:28:
./libavcodec/avcodec.h:3832:39: note: declared here
     uint8_t *data[AV_NUM_DATA_POINTERS];    ///< pointers to the image data planes
                                       ^
libavdevice/decklink_enc.cpp:235:75: warning: 'AVPicture::data' is deprecated [-Wdeprecated-declarations]
     av_image_copy(tmp->data, tmp->linesize, (const uint8_t **) avpicture->data,
                                                                           ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_enc.cpp:28:
./libavcodec/avcodec.h:3832:39: note: declared here
     uint8_t *data[AV_NUM_DATA_POINTERS];    ///< pointers to the image data planes
                                       ^
libavdevice/decklink_enc.cpp:236:30: warning: 'AVPicture::linesize' is deprecated [-Wdeprecated-declarations]
                   avpicture->linesize, (AVPixelFormat) tmp->format, tmp->width,
                              ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_enc.cpp:28:
./libavcodec/avcodec.h:3834:38: note: declared here
     int linesize[AV_NUM_DATA_POINTERS];     ///< number of bytes per line
                                      ^
libavdevice/decklink_enc.cpp:236:30: warning: 'AVPicture::linesize' is deprecated [-Wdeprecated-declarations]
                   avpicture->linesize, (AVPixelFormat) tmp->format, tmp->width,
                              ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_enc.cpp:28:
./libavcodec/avcodec.h:3834:38: note: declared here
     int linesize[AV_NUM_DATA_POINTERS];     ///< number of bytes per line
                                      ^
libavdevice/decklink_enc.cpp:236:30: warning: 'AVPicture::linesize' is deprecated [-Wdeprecated-declarations]
                   avpicture->linesize, (AVPixelFormat) tmp->format, tmp->width,
                              ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_enc.cpp:28:
./libavcodec/avcodec.h:3834:38: note: declared here
     int linesize[AV_NUM_DATA_POINTERS];     ///< number of bytes per line
                                      ^
libavdevice/decklink_enc.cpp: In function 'int ff_decklink_write_header(AVFormatContext*)':
libavdevice/decklink_enc.cpp:386:33: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
         AVCodecContext *c = st->codec;
                                 ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:386:33: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
         AVCodecContext *c = st->codec;
                                 ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:386:33: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
         AVCodecContext *c = st->codec;
                                 ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp: In function 'int ff_decklink_write_packet(AVFormatContext*, AVPacket*)':
libavdevice/decklink_enc.cpp:418:18: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     if      (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
                  ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:418:18: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     if      (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
                  ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:418:18: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     if      (st->codec->codec_type == AVMEDIA_TYPE_VIDEO)
                  ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:420:18: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     else if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
                  ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:420:18: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     else if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
                  ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_enc.cpp:420:18: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     else if (st->codec->codec_type == AVMEDIA_TYPE_AUDIO)
                  ^
In file included from libavdevice/decklink_enc.cpp:28:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/decklink_dec.cpp:30:
./libavformat/os_support.h: In function 'int win32_stat(const char*, _stati64*)':
./libavformat/os_support.h:196:32: error: cannot convert '_stati64*' to '_stat64*' for argument '2' to 'int _wstat64(const wchar_t*, _stat64*)'
     ret = wfunc(filename_w, par);                         \
                                ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
./libavformat/os_support.h:202:36: error: cannot convert '_stati64*' to '_stat64*' for argument '2' to 'int _stat64(const char*, _stat64*)'
     return afunc(filename_utf8, par);                     \
                                    ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
make: *** [libavdevice/decklink_enc.o] Error 1
libavdevice/decklink_dec.cpp: In function 'int avpacket_queue_put(AVPacketQueue*, AVPacket*)':
libavdevice/decklink_dec.cpp:120:9: warning: 'int av_dup_packet(AVPacket*)' is deprecated [-Wdeprecated-declarations]
     if (av_dup_packet(pkt) < 0) {
         ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_dec.cpp:29:
./libavcodec/avcodec.h:4381:5: note: declared here
 int av_dup_packet(AVPacket *pkt);
     ^
libavdevice/decklink_dec.cpp:120:9: warning: 'int av_dup_packet(AVPacket*)' is deprecated [-Wdeprecated-declarations]
     if (av_dup_packet(pkt) < 0) {
         ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_dec.cpp:29:
./libavcodec/avcodec.h:4381:5: note: declared here
 int av_dup_packet(AVPacket *pkt);
     ^
libavdevice/decklink_dec.cpp:120:26: warning: 'int av_dup_packet(AVPacket*)' is deprecated [-Wdeprecated-declarations]
     if (av_dup_packet(pkt) < 0) {
                          ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_dec.cpp:29:
./libavcodec/avcodec.h:4381:5: note: declared here
 int av_dup_packet(AVPacket *pkt);
     ^
libavdevice/decklink_dec.cpp: In member function 'virtual ULONG decklink_input_callback::Release()':
libavdevice/decklink_dec.cpp:232:16: warning: deleting object of polymorphic class type 'decklink_input_callback' which has non-virtual destructor might cause undefined behaviour [-Wdelete-non-virtual-dtor]
         delete this;
                ^
libavdevice/decklink_dec.cpp: In function 'int ff_decklink_read_packet(AVFormatContext*, AVPacket*)':
libavdevice/decklink_dec.cpp:633:37: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVFrame *frame = ctx->video_st->codec->coded_frame;
                                     ^
In file included from libavdevice/decklink_dec.cpp:29:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_dec.cpp:633:37: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVFrame *frame = ctx->video_st->codec->coded_frame;
                                     ^
In file included from libavdevice/decklink_dec.cpp:29:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_dec.cpp:633:37: warning: 'AVStream::codec' is deprecated [-Wdeprecated-declarations]
     AVFrame *frame = ctx->video_st->codec->coded_frame;
                                     ^
In file included from libavdevice/decklink_dec.cpp:29:0:
./libavformat/avformat.h:880:21: note: declared here
     AVCodecContext *codec;
                     ^
libavdevice/decklink_dec.cpp:633:44: warning: 'AVCodecContext::coded_frame' is deprecated [-Wdeprecated-declarations]
     AVFrame *frame = ctx->video_st->codec->coded_frame;
                                            ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_dec.cpp:29:
./libavcodec/avcodec.h:3069:35: note: declared here
     attribute_deprecated AVFrame *coded_frame;
                                   ^
libavdevice/decklink_dec.cpp:633:44: warning: 'AVCodecContext::coded_frame' is deprecated [-Wdeprecated-declarations]
     AVFrame *frame = ctx->video_st->codec->coded_frame;
                                            ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_dec.cpp:29:
./libavcodec/avcodec.h:3069:35: note: declared here
     attribute_deprecated AVFrame *coded_frame;
                                   ^
libavdevice/decklink_dec.cpp:633:44: warning: 'AVCodecContext::coded_frame' is deprecated [-Wdeprecated-declarations]
     AVFrame *frame = ctx->video_st->codec->coded_frame;
                                            ^
In file included from ./libavformat/avformat.h:317:0,
                 from libavdevice/decklink_dec.cpp:29:
./libavcodec/avcodec.h:3069:35: note: declared here
     attribute_deprecated AVFrame *coded_frame;
                                   ^
make: *** [libavdevice/decklink_dec.o] Error 1
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/gdigrab.c:32:
./libavformat/os_support.h: In function 'win32_stat':
./libavformat/os_support.h:196:29: warning: passing argument 2 of '_wstat64' from incompatible pointer type [-Wincompatible-pointer-types]
     ret = wfunc(filename_w, par);                         \
                             ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
In file included from ./libavformat/os_support.h:32:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/gdigrab.c:32:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/sys/stat.h:129:23: note: expected 'struct _stat64 *' but argument is of type 'struct _stati64 *'
   _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat);
                       ^
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/gdigrab.c:32:
./libavformat/os_support.h:202:33: warning: passing argument 2 of '_stat64' from incompatible pointer type [-Wincompatible-pointer-types]
     return afunc(filename_utf8, par);                     \
                                 ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
In file included from ./libavformat/os_support.h:32:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/gdigrab.c:32:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/sys/stat.h:97:23: note: expected 'struct _stat64 *' but argument is of type 'struct _stati64 *'
   _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat);
                       ^
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/lavfi.c:44:
./libavformat/os_support.h: In function 'win32_stat':
./libavformat/os_support.h:196:29: warning: passing argument 2 of '_wstat64' from incompatible pointer type [-Wincompatible-pointer-types]
     ret = wfunc(filename_w, par);                         \
                             ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
In file included from ./libavformat/os_support.h:32:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/lavfi.c:44:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/sys/stat.h:129:23: note: expected 'struct _stat64 *' but argument is of type 'struct _stati64 *'
   _CRTIMP int __cdecl _wstat64(const wchar_t *_Name,struct _stat64 *_Stat);
                       ^
In file included from ./libavformat/internal.h:28:0,
                 from libavdevice/lavfi.c:44:
./libavformat/os_support.h:202:33: warning: passing argument 2 of '_stat64' from incompatible pointer type [-Wincompatible-pointer-types]
     return afunc(filename_utf8, par);                     \
                                 ^
./libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
In file included from ./libavformat/os_support.h:32:0,
                 from ./libavformat/internal.h:28,
                 from libavdevice/lavfi.c:44:
/home/kgpbuild/ffmpegbuild5/sandbox/cross_compilers/mingw-w64-i686/include/sys/stat.h:97:23: note: expected 'struct _stat64 *' but argument is of type 'struct _stati64 *'
   _CRTIMP int __cdecl _stat64(const char *_Name,struct _stat64 *_Stat);
                       ^

Change History (6)

comment:1 Changed 3 years ago by cehoyos

  • Keywords regression added
  • Priority changed from normal to important

Looks important.

comment:2 Changed 3 years ago by RiCON

Just reverting the commit fixes the build errors.

comment:3 Changed 3 years ago by heleppkes

Can you check if changing _wstat64/_stat64 to _wstati64/_stati64 in line 206 of os_support.h helps?

comment:4 Changed 3 years ago by RiCON

It does fix it too. Also, forgot to mention that 64-bit seemed to work before the fix as well. So this is just a fix for 32-bit.

But the fix doesn't cause problems for 64-bit, so just changing to i64 is probably fine without any more #ifs.

Last edited 3 years ago by RiCON (previous) (diff)

comment:5 Changed 3 years ago by kgp700

I changed DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
to
DEF_FS_FUNCTION2(stat, _wstati64, _stati64, struct stat*)

fixed build issue
Thanks

comment:6 Changed 3 years ago by heleppkes

  • Resolution set to fixed
  • Status changed from new to closed
Note: See TracTickets for help on using tickets.