[FFmpeg-devel] [FFmpeg-cvslog] lavf/os_support.h: Fix for unicode filenames on windows.

Ricardo Constantino wiiaboo at gmail.com
Tue Jun 14 06:56:42 CEST 2016


This patch seems to break build with decklink in MinGW:

In file included from
C:/builds/ab-full/build/ffmpeg-git/libavformat/internal.h:28:0,
                 from
C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:34:
C:/builds/ab-full/build/ffmpeg-git/libavformat/os_support.h: In
function 'int win32_stat(const char*, _stati64*)':
C:/builds/ab-full/build/ffmpeg-git/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);                         \
                                ^
C:/builds/ab-full/build/ffmpeg-git/libavformat/os_support.h:206:1:
note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
C:/builds/ab-full/build/ffmpeg-git/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);                     \
                                    ^
C:/builds/ab-full/build/ffmpeg-git/libavformat/os_support.h:206:1:
note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
make: *** [/build/ffmpeg-git/common.mak:63:
libavdevice/decklink_common.o] Error 1
-------------- next part --------------
$ make
CXX     libavdevice/decklink_common.o
cc1plus.exe: warning: command line option '-Wdeclaration-after-statement' is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option '-Wmissing-prototypes' is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option '-Wno-pointer-to-int-cast' is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option '-Wstrict-prototypes' is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option '-Wno-pointer-sign' is valid for C/ObjC but not for C++
cc1plus.exe: warning: command line option '-std=c99' is valid for C/ObjC but not for C++
In file included from C:/builds/ab-full/build/ffmpeg-git/libavformat/os_support.h:112:0,
                 from C:/builds/ab-full/build/ffmpeg-git/libavformat/internal.h:28,
                 from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:34:
C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/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 C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:0:
C:/builds/ab-full/local32/include/DeckLinkAPI.h:20697:69: warning: redundant redeclaration of 'ULONG BSTR_UserSize(ULONG*, ULONG, OLECHAR**)' in same scope [-Wredundant-decls]
 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
                                                                     ^
In file included from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/objbase.h:164:0,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/ole2.h:17,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/wtypes.h:12,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/winscard.h:10,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/windows.h:97,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/rpc.h:16,
                 from C:/builds/ab-full/local32/include/DeckLinkAPI.h:7,
                 from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:
C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/propidl.h:1287:28: note: previous declaration of 'ULONG BSTR_UserSize(ULONG*, ULONG, OLECHAR**)'
 ULONG           __RPC_USER BSTR_UserSize     (ULONG *, ULONG, BSTR *);
                            ^
In file included from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:0:
C:/builds/ab-full/local32/include/DeckLinkAPI.h:20698:79: warning: redundant redeclaration of 'unsigned char* BSTR_UserMarshal(ULONG*, unsigned char*, OLECHAR**)' in same scope [-Wredundant-decls]
 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
                                                                               ^
In file included from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/objbase.h:164:0,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/ole2.h:17,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/wtypes.h:12,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/winscard.h:10,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/windows.h:97,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/rpc.h:16,
                 from C:/builds/ab-full/local32/include/DeckLinkAPI.h:7,
                 from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:
C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/propidl.h:1288:28: note: previous declaration of 'unsigned char* BSTR_UserMarshal(ULONG*, unsigned char*, OLECHAR**)'
 unsigned char * __RPC_USER BSTR_UserMarshal  (ULONG *, unsigned char *, BSTR *);
                            ^
In file included from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:0:
C:/builds/ab-full/local32/include/DeckLinkAPI.h:20699:79: warning: redundant redeclaration of 'unsigned char* BSTR_UserUnmarshal(ULONG*, unsigned char*, OLECHAR**)' in same scope [-Wredundant-decls]
 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
                                                                               ^
In file included from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/objbase.h:164:0,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/ole2.h:17,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/wtypes.h:12,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/winscard.h:10,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/windows.h:97,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/rpc.h:16,
                 from C:/builds/ab-full/local32/include/DeckLinkAPI.h:7,
                 from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:
C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/propidl.h:1289:28: note: previous declaration of 'unsigned char* BSTR_UserUnmarshal(ULONG*, unsigned char*, OLECHAR**)'
 unsigned char * __RPC_USER BSTR_UserUnmarshal(ULONG *, unsigned char *, BSTR *);
                            ^
In file included from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:0:
C:/builds/ab-full/local32/include/DeckLinkAPI.h:20700:62: warning: redundant redeclaration of 'void BSTR_UserFree(ULONG*, OLECHAR**)' in same scope [-Wredundant-decls]
 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
                                                              ^
In file included from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/objbase.h:164:0,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/ole2.h:17,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/wtypes.h:12,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/winscard.h:10,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/windows.h:97,
                 from C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/rpc.h:16,
                 from C:/builds/ab-full/local32/include/DeckLinkAPI.h:7,
                 from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:22:
C:/builds/ab-full/msys64/mingw32/i686-w64-mingw32/include/propidl.h:1290:28: note: previous declaration of 'void BSTR_UserFree(ULONG*, OLECHAR**)'
 void            __RPC_USER BSTR_UserFree     (ULONG *, BSTR *);
                            ^
In file included from C:/builds/ab-full/build/ffmpeg-git/libavformat/internal.h:28:0,
                 from C:/builds/ab-full/build/ffmpeg-git/libavdevice/decklink_common.cpp:34:
C:/builds/ab-full/build/ffmpeg-git/libavformat/os_support.h: In function 'int win32_stat(const char*, _stati64*)':
C:/builds/ab-full/build/ffmpeg-git/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);                         \
                                ^
C:/builds/ab-full/build/ffmpeg-git/libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
C:/builds/ab-full/build/ffmpeg-git/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);                     \
                                    ^
C:/builds/ab-full/build/ffmpeg-git/libavformat/os_support.h:206:1: note: in expansion of macro 'DEF_FS_FUNCTION2'
 DEF_FS_FUNCTION2(stat, _wstat64, _stat64, struct stat*)
 ^
make: *** [/build/ffmpeg-git/common.mak:63: libavdevice/decklink_common.o] Error 1


More information about the ffmpeg-devel mailing list