Kirigami2 for developement on Windows [Rant]

So I tried to build Kirigami on windows directly. I am not using craft.
The ECM module was built without any issues but Kirigami is throwing an error when building.

[ 64%] Building CXX object src/CMakeFiles/KirigamiPlugin.dir/icon.cpp.obj
In file included from C:/mingw64/x86_64-w64-mingw32/include/windows.h:72,
                 from C:/Qt/6.6.0/mingw_64/include/QtCore/qt_windows.h:28,
                 from C:/Qt/6.6.0/mingw_64/include/QtGui/qopengl.h:13,
                 from C:/Qt/6.6.0/mingw_64/include/QtQuick/qsgtexture_platform.h:11,
                 from C:/Qt/6.6.0/mingw_64/include/QtQuick/qsgtexture.h:10,
                 from C:/Qt/6.6.0/mingw_64/include/QtQuick/qsgtexturematerial.h:8,
                 from C:/Qt/6.6.0/mingw_64/include/QtQuick/qsgsimpletexturenode.h:9,
                 from C:/Qt/6.6.0/mingw_64/include/QtQuick/QSGSimpleTextureNode:1,
                 from C:\Users\sanjay\Documents\Projects\KDE\kirigami\src\scenegraph/managedtexturenode.h:12,
                 from C:\Users\sanjay\Documents\Projects\KDE\kirigami\src\icon.cpp:9:
C:/mingw64/x86_64-w64-mingw32/include/winuser.h:2965:43: error: variable 'CreateSyntheticPointerDevice' definition is marked dllimport
 2965 | WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode);
      |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:/mingw64/x86_64-w64-mingw32/include/winuser.h:2965:72: error: 'POINTER_INPUT_TYPE' was not declared in this scope
 2965 | WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode);
      |                                                                        ^~~~~~~~~~~~~~~~~~
C:/mingw64/x86_64-w64-mingw32/include/winuser.h:2965:110: error: expected primary-expression before 'maxCount'
 2965 | WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode);
      |                                                                                                              ^~~~~~~~
C:/mingw64/x86_64-w64-mingw32/include/winuser.h:2965:120: error: 'POINTER_FEEDBACK_MODE' was not declared in this scope
 2965 | WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode);
      |                                                                                                                        ^~~~~~~~~~~~~~~~~~~~~
C:/mingw64/x86_64-w64-mingw32/include/winuser.h:2965:146: error: expression list treated as compound expression in initializer [-fpermissive]
 2965 | WINUSERAPI HSYNTHETICPOINTERDEVICE WINAPI CreateSyntheticPointerDevice(POINTER_INPUT_TYPE pointerType, ULONG maxCount, POINTER_FEEDBACK_MODE mode);
      |                                                                                                                                                  ^
C:/mingw64/x86_64-w64-mingw32/include/winuser.h:2966:93: error: 'POINTER_TYPE_INFO' does not name a type; did you mean 'POINTER_64_INT'?
 2966 | WINUSERAPI WINBOOL WINAPI InjectSyntheticPointerInput(HSYNTHETICPOINTERDEVICE device, CONST POINTER_TYPE_INFO* pointerInfo, UINT32 count);
      |                                                                                             ^~~~~~~~~~~~~~~~~
      |                                                                                             POINTER_64_INT
mingw32-make[2]: *** [src\CMakeFiles\KirigamiPlugin.dir\build.make:854: src/CMakeFiles/KirigamiPlugin.dir/icon.cpp.obj] Error 1
mingw32-make[1]: *** [CMakeFiles\Makefile2:1730: src/CMakeFiles/KirigamiPlugin.dir/all] Error 2
mingw32-make: *** [Makefile:165: all] Error 2

I am not too sure what is causing the issue here. But it seems like it is issue in Icon.cpp

Also I am using gcc compiler to build it.