{"id":14982708,"url":"https://github.com/fpoussin/qtusb","last_synced_at":"2025-05-15T14:03:15.539Z","repository":{"id":16049715,"uuid":"18793721","full_name":"fpoussin/QtUsb","owner":"fpoussin","description":"A cross-platform USB Module for Qt.","archived":false,"fork":false,"pushed_at":"2024-10-30T17:34:12.000Z","size":1325,"stargazers_count":427,"open_issues_count":10,"forks_count":167,"subscribers_count":24,"default_branch":"master","last_synced_at":"2025-04-15T03:52:07.649Z","etag":null,"topics":["libusb","qt","qt5","usb"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fpoussin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2014-04-15T08:59:58.000Z","updated_at":"2025-03-17T05:20:13.000Z","dependencies_parsed_at":"2024-09-28T08:00:31.637Z","dependency_job_id":"d63ef781-890c-4061-880f-9986b75afe12","html_url":"https://github.com/fpoussin/QtUsb","commit_stats":{"total_commits":398,"total_committers":13,"mean_commits":"30.615384615384617","dds":"0.14572864321608037","last_synced_commit":"4484292eda454d517111e4f7a5455f766328aca0"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoussin%2FQtUsb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoussin%2FQtUsb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoussin%2FQtUsb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fpoussin%2FQtUsb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fpoussin","download_url":"https://codeload.github.com/fpoussin/QtUsb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003955,"owners_count":21196794,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["libusb","qt","qt5","usb"],"created_at":"2024-09-24T14:05:53.640Z","updated_at":"2025-04-15T03:52:13.400Z","avatar_url":"https://github.com/fpoussin.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QtUsb [![GitHub version](https://badge.fury.io/gh/fpoussin%2Fqtusb.svg)](https://badge.fury.io/gh/fpoussin%2Fqtusb)  \n\nGCC: [![Build Status](https://github.com/fpoussin/QtUsb/actions/workflows/build.yml/badge.svg)](https://github.com/fpoussin/QtUsb/actions/)  \nMSVC: [![Build status](https://ci.appveyor.com/api/projects/status/4ns2jbdoveyj8n0y?svg=true)](https://ci.appveyor.com/project/fpoussin/qtusb)  \n\n\nA Cross-platform USB Module for Qt built around libusb-1.0 and libhidapi  \nCan be used as a library, or included directly into the project  \n\n## Features\n\n- Bulk transfer\n- Interrupt transfer\n- Hotplug detection\n- Device enumeration and filtering\n- HID\n\n## Install library \n\n**Ubuntu** (stable versions only)  \n```\nsudo add-apt-repository ppa:fpoussin/ppa\nsudo apt install libqt5usb5 libqt5usb5-dev\n```\n\n**Windows**  \nCheck the [releases](https://github.com/fpoussin/QtUsb/releases) page or [appveyor build artifacts](https://ci.appveyor.com/project/fpoussin/qtusb) for binary archives  \n\n## Build  \n\n**Unix**  \nYou need `libusb-1.0-0-dev`, `libhidapi-dev` and `pkg-config` packages installed  \nIf using system packages on Ubuntu, you'll need `qt6-base-private-dev` as well.  \n```shell\nmkdir build \u0026\u0026 cd build\ncmake ..\nmake install\n```\n\nAlternatively build as static module (best for portability)  \n```shell\nmkdir build \u0026\u0026 cd build\ncmake -DQTUSB_AS_STATIC_MODULE=ON ..\nmake install\n```\n\n**MSVC**  \nYou need the Windows SDKs to compile libusb  \nThese are available from the Visual Studio Installer  \nThe following script builds and deploys QtUsb into your Qt installation  \n```\nbuild_msvc.bat 2017|2019 x64|x86 module|static QT_PATH\nie: build_msvc.bat 2017 x64 static C:\\Qt\\5.14.1\\msvc2017_64\n```\n\n**Qt Creator**  \nThe module can also be built normally within QT creator regardless of the platform.  \nAll dependencies are built with cmake.  \n\n## Using  \n\n**Option 1: Using the module (static or dynamic)**  \nYou'll need to add the module to into CMakeLists.txt:\n```\nfind_package(Qt6 REQUIRED COMPONENTS Core Usb)\n```\nInclude headers:  \n```\n#include \u003cQUsbDevice\u003e\n#include \u003cQUsbEndpoint\u003e\n```\n\n**Option 2: Importing the code in your project**  \nThis will tie your app to a specific Qt version as it uses private headers  \nYou need to add the QtUsb subdirectoty into CMakeLists.txt:\n```\nset(QTUSB_MODULE OFF CACHE BOOL \"\" FORCE)\nadd_subdirectory(qtusb) # this assumes that QtUsb is cloned into ./qtusb\nadd_library(Qt::Usb ALIAS ExtUsb)\n\nadd_executable(my_program main.cpp)\n# (omitting linking with Qt and other libraries)\ntarget_link_libraries(my_program PUBLIC Qt::Usb)\n```\nInclude headers:  \n```\n#include \u003cQUsbDevice\u003e\n#include \u003cQUsbEndpoint\u003e\n```\n\n## Documentation\n\nQCH files can be found with each release, they are also included in ubuntu packages.  \nYou have to manually install them in Qt Creator on Windows.  \nOnline documentation can be found [here](https://fpoussin.github.io/doxygen/qtusb/0.7.x/)  \n\n## Downloads\n\n[Ubuntu PPA](https://launchpad.net/~fpoussin/+archive/ubuntu/ppa)  \nWindows binaries are [in the releases section](https://github.com/fpoussin/QtUsb/releases).  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpoussin%2Fqtusb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffpoussin%2Fqtusb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffpoussin%2Fqtusb/lists"}