The initguid.h header must appear early or it does not have
an effect, at least on cross-build from Linux.
#include <stdio.h>
#include <stdarg.h>
#ifdef _WIN32
#include <stdio.h>
#include <stdarg.h>
#ifdef _WIN32
#include <windows.h>
#include <tchar.h>
#include <setupapi.h>
#include <cfgmgr32.h>
#include <usbioctl.h>
#include <windows.h>
#include <tchar.h>
#include <setupapi.h>
#include <cfgmgr32.h>
#include <usbioctl.h>
#else
#include <limits.h>
#include <termios.h>
#else
#include <limits.h>
#include <termios.h>