Installation Instructions for Windows
*************************************

If you are compiling for MinGW or cygwin, please refer to the INSTALL file.

If you are using Microsoft Visual Studio:
- Open the relevant solution file in /msvc:
  libusb_2013.sln for Visual Studio 2013,
  libusb_2015.sln for Visual Studio 2015,
  libusb_2017.sln for Visual Studio 2017 or later.
- If you want to debug the library, uncomment the ENABLE_DEBUG_LOGGING define
  in msvc\config.h
- Select your configuration and compile the project

Destination directories
***********************

The 32-bit binaries are placed in a Win32\ directory at the root of the
library.
The 64-bit binaries are placed in a x64\ directory.

Troubleshooting
***************

If the compilation process complains about missing libraries, ensure that the
default library paths for your project points to the relevant directories.
If needed, these libraries can be obtained by installing the latest Windows
SDK.

Links
*****

Additional information related to the Windows backend:
  http://windows.libusb.info

Microsoft Windows SDK Archive:
  https://developer.microsoft.com/en-us/windows/downloads/sdk-archive