/QtUsb

A cross-platform USB Module for Qt.

Primary LanguageC++GNU Lesser General Public License v3.0LGPL-3.0

QtUsb GitHub version

GCC: Build Status MSVC: Build status

A Cross-platform USB Module for Qt built around libusb-1.0

Features

  • Bulk transfer
  • Interrupt transfer
  • Hotplug detection
  • Device enumeration and filtering

Install

Ubuntu

sudo add-apt-repository ppa:fpoussin/ppa
sudo apt install libqt5usb5 libqt5usb5-dev

Windows
Check the releases page or appveyor build artifacts for binary archives

Build

Unix
You need libusb-1.0-0-dev and pkg-config packages installed

mkdir build && cd build
qmake ..
make install

Alternatively build as static lib while still using a dynamic Qt lib

mkdir build && cd build
qmake CONFIG+=static_lib ..
# Link with '*.a' file later in you project

MSVC 2017
You need WDK 8.1 and CRT SDK installed to compile libusb
These are both available from the Visual Studio Installer

build_msvc2017.bat [x64|x86] QT_PATH
ie: build_msvc2017.bat x64 C:\Qt\5.13.1\msvc2017_64

Using

You'll need to add the module to your project file:

qt += usb

Then include it into your headers:

#include <QUsbDevice>
#include <QUsbInfo>
#include <QUsbTransferHandler>

Documentation

QCH documentation files can be found with each release, they are also included in ubuntu packages.
You have to manually install them in Qt Creator on Windows.

Downloads

Ubuntu PPA
Windows binaries are in the releases section.