shinchiro / mpv-winbuild-cmake

CMake-based MinGW-w64 Cross Toolchain
620 stars 114 forks source link

libsdl2 build failed #202

Closed zhongfly closed 2 years ago

zhongfly commented 2 years ago

libsdl2 build fails on fresh build , see https://github.com/zhongfly/mpv-winbuild-cmake/runs/6244820483?check_suite_focus=true#step:10:525

libsdl2-build-err.log

/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c: In function 'WGI_JoystickOpen':
/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:641:13: error: unknown type name '__FIReference_1_int'; did you mean '__FIReference_1_INT32'?
  641 |             __FIReference_1_int *full_capacityP, *curr_capacityP;
      |             ^~~~~~~~~~~~~~~~~~~
      |             __FIReference_1_INT32
In file included from /__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/include/windows.gaming.input.h:622,
                 from /__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:33:
/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:643:114: warning: passing argument 2 of 'report->lpVtbl->get_FullChargeCapacityInMilliwattHours' from incompatible pointer type [-Wincompatible-pointer-types]
  643 |             hr = __x_ABI_CWindows_CDevices_CPower_CIBatteryReport_get_FullChargeCapacityInMilliwattHours(report, &full_capacityP);
      |                                                                                                                  ^~~~~~~~~~~~~~~
      |                                                                                                                  |
      |                                                                                                                  int **
/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:643:114: note: expected '__FIReference_1_INT32 **' but argument is of type 'int **'
/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:645:17: warning: implicit declaration of function '__FIReference_1_int_get_Value' [-Wimplicit-function-declaration]
  645 |                 __FIReference_1_int_get_Value(full_capacityP, &full_capacity);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:646:17: warning: implicit declaration of function '__FIReference_1_int_Release' [-Wimplicit-function-declaration]
  646 |                 __FIReference_1_int_Release(full_capacityP);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/install/x86_64-w64-mingw32/include/windows.gaming.input.h:622,
                 from /__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:33:
/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:649:113: warning: passing argument 2 of 'report->lpVtbl->get_RemainingCapacityInMilliwattHours' from incompatible pointer type [-Wincompatible-pointer-types]
  649 |             hr = __x_ABI_CWindows_CDevices_CPower_CIBatteryReport_get_RemainingCapacityInMilliwattHours(report, &curr_capacityP);
      |                                                                                                                 ^~~~~~~~~~~~~~~
      |                                                                                                                 |
      |                                                                                                                 int **
/__w/mpv-winbuild-cmake/mpv-winbuild-cmake/build64/packages/libsdl2-prefix/src/libsdl2/src/joystick/windows/SDL_windows_gaming_input.c:649:113: note: expected '__FIReference_1_INT32 **' but argument is of type 'int **'
make: *** [Makefile:726: build/SDL_windows_gaming_input.lo] Error 1
make: *** Waiting for unfinished jobs....
zhongfly commented 2 years ago

https://github.com/libsdl-org/SDL/issues/5589 May need to wait for libsdl2 to fix this, or add a patch to fix it

zhongfly commented 2 years ago

mingw64 build has been fixed in the latest commit( https://github.com/libsdl-org/SDL/commit/d2c4d74dd0302369251dce9375b49f394e54f76a ), libsdl2-0001-mingw-header.patch will no longer be needed