Mingw-w64 does not provide sys/ioctl.h and Linux builds don't need it, so remove that include statement.
ERROR is defined by wingdi.h (included via windows.h). Undefine it before it is redefined to avoid a compiler warning / error. Signed-off-by: Stefan Weil <s...@weilnetz.de> --- Cygwin now includes Mingw-w64 packages for cross compilation. The packages mingw64-x86_64-libusb1.0 and mingw64-x86_64-usbredir can be used for QEMU builds, but trigger new compiler errors. This patch fixes them partially. Regards, Stefan hw/usb/redirect.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/usb/redirect.c b/hw/usb/redirect.c index 38a5393..cbcc218 100644 --- a/hw/usb/redirect.c +++ b/hw/usb/redirect.c @@ -34,12 +34,14 @@ #include "qemu/iov.h" #include "sysemu/char.h" -#include <sys/ioctl.h> #include <usbredirparser.h> #include <usbredirfilter.h> #include "hw/usb.h" +/* ERROR is defined below. Remove any previous definition. */ +#undef ERROR + #define MAX_ENDPOINTS 32 #define NO_INTERFACE_INFO 255 /* Valid interface_count always <= 32 */ #define EP2I(ep_address) (((ep_address & 0x80) >> 3) | (ep_address & 0x0f)) -- 2.1.4