libusb系列-004-qt下使用libusb库(代码片段)

DreamLife. DreamLife.     2022-12-04     692

关键词:

libusb系列-004-Qt下使用libusb库

文章目录


关键字: DebianLinuxQtlibusb源码

内容背景:

最近项目终于切到Linux下开发了,所以最近的记录都是发生在Debian 10 以及Arm Debain 10 下,Qt版本5.12.3。这几天真是问题多多,收获满满,不过目前阶段仅仅停留在解决问题,至于原理性的东西,还得慢慢消化。最近好多问题都是直接群里问大神,感谢各位大神助我成长。

开始本来USB传世使用的是HIDUSB,后面计划开发一个专用的驱动,到最后,因为最终系统一直定不下来,最终成了使用libusb了。大部分人都是直接使用libusb 的库的,把源码直接放在项目中参与编译的应该很好,哎,我就是那个大冤种,那么请跟随我一起看我如何给自己完坑踩坑吧。

摘要

经过前面几篇的折腾,到这里,我们终于有一个libusb库可以使用了,其实我可以偷偷告诉你,git上是有编译好的库,可以直接使用的,哈哈哈。今天这篇内容不多,就是记录下Linux下如何使用库,其实和win下没有啥区别,开始展示。

复制库到指定目录

这里,每家项目都不一样,记得把你的看放到一个目录下就可以了,这个目录一会会在Qt 的项目中使用。

在Pro中包含库文件

这里我手里目前没有实际项目代码,只能git 带上接个图看下

unix
    contains(QT_ARCH,arm64)
        LIBS +=-L$$PWD/T_ThirdParty/T_USB/rk3399_usb_lib/ -lusb-1.0                                        # 4710 LibUSB库
    
    else
        LIBS +=-L$$PWD/T_ThirdParty/T_USB/pc_usb_lib/ -lusb-1.0                                             # PC LibUSB库
    

这里其实就是一句话,和win下没有区别,我这里是因为需要区分两个平台,所以才会有这个代码。这里也暴露了我的arm平台了,哈哈哈,我目前用的是研华 的4710 ,不过最近研华好像有点嫌弃我们庙小了,配合好像不咋给力了。

包含头文件

这个应该不用写了,最基础添加现有文件即可。

那么到这里,应该就可以使用了。

多说一句

这里大家也看到了,这里在库平台的时候,需要在编译一个目标平台的库,而且还得把库拷贝到对应的目标平台,是不是很麻烦,所有,后面会有在项目中直接使用libusb源码,这样就可以在交叉编译程序的时候,直接把libusb库也编译进去了。


libusb系列-002-windows下libusb源码编译(代码片段)

libusb系列-002-Windows下libusb源码编译文章目录libusb系列-002-Windows下libusb源码编译摘要Windows下编译libusb库下载源码进入msvc目录选择对应的项目工程编译查看编译好的库文件关键字:vs、编译、Qt、libusb、windows内容背景:最近... 查看详情

libusb系列-006-qt下使用libusb1.0.9源码(代码片段)

libusb系列-006-Qt下使用libusb1.0.9源码文章目录libusb系列-006-Qt下使用libusb1.0.9源码摘要添加宏添加源文件编译文件测试libusb工程源码关键字:Debian、Linux、Qt、libusb、源码内容背景:最近项目终于切到Linux下开发了,所以最... 查看详情

libusb系列-007-qt下使用libusb1.0.26源码(代码片段)

libusb系列-007-Qt下使用libusb1.0.26源码文章目录libusb系列-007-Qt下使用libusb1.0.26源码摘要安装编译环境确认需要的文件开始编译错误1:找不到文件错误2:expected错误3:SCM_CREDENTALS错误4:类型冲突错误5assert断言错误错... 查看详情

libusb系列-001-libusb简介(代码片段)

libusb系列-001-libusb简介文章目录libusb系列-001-libusb简介摘要基本信息简介支持平台官网如何使用下载神奇的1.0.9版本关键字:Debian、Linux、Qt、libusb、源码内容背景:最近项目终于切到Linux下开发了,所以最近的记录都是... 查看详情

linux下libusb库的安装与使用

一、下载libusb下载网址:http://www.libusb.org/这里我选择的是下载:libusb-1.0.24二、安装libusb解压后libusb-1.0.24,得到的是源代码。$tar-jxvflibusb-1.0.24.tar.bz2$cdlibusb-1.0.24$./configure--prefix=/usr/local/libusb-1.0.24$make$makeinstall三、... 查看详情

linux下使用c语言和libusb开发usbhid

玩转USB系列:Linux下使用C语言和libusb开发USBHID实验环境开发步骤安装libusb试试好用否我们来与HID设备通讯!探索、学习与注意:1.&ctx是个什么鬼2.print_devs(devs)->print_devs(&devs);3.操作端口这类程序加上sudo!4.libusb_interrupt_tran... 查看详情

linux下libusb库的安装与使用

一、下载libusb下载网址:http://www.libusb.org/这里我选择的是下载:libusb-1.0.24二、安装libusb解压后libusb-1.0.24,得到的是源代码。$tar-jxvflibusb-1.0.24.tar.bz2$cdlibusb-1.0.24$./configure--prefix=/usr/local/li 查看详情

windows下qt+libusbpc程序与斑马打印机使用usb通信(代码片段)

Qt没有USB类,所以这里我决定使用第三方库libusb。1、下载libusb,下载网址:https://sourceforge.net/projects/libusb/ 2、把下载下来libusb压缩包解压,解压后有个INSTALL_WIN.txt,关于Windows环境下编译安装。  (1)我先安装了MinGW,但... 查看详情

linux下交叉编译libusb的方法及编译一个使用了libusb库的test程序的方法(代码片段)

linux交叉编译libusb的方法下载libusb下载网址:libusb-BrowseFilesatSourceForge.net交叉编译libusb将下载好的libusb压缩包解压后进入该文件执行下列指令./configure--build=i686-linux--host=arm-linux--prefix=/home/xfc/usb/installCC 查看详情

libusb系列-005-部分api简介(代码片段)

libusb系列-005-部分API简介文章目录libusb系列-005-部分API简介摘要libusb_initlibusb_open_device_with_vid_pidlibusb_kernel_driver_activelibusb_detach_kernel_driverlibusb_claim_interfacelibusb_release_interfacelibusb_attac 查看详情

编译libusb库(代码片段)

./bootstrap.sh./configure--with-pic--prefix=/home/libusb-1.0.22/usbtest--build=i686-linux--host=arm-linux-gnueabihfCC="/opt/linux/x86-arm/arm-gnueabihf-5.4.1/bin/arm-linux-gnueabihf-gcc"CXX="/opt/linu 查看详情

libusb3.0

...buffer太大时,读不到数据问题? 2)linux下,usb3.0 libusb_claim_interfacefail,error=-5对于一些linux标准支持的设备(如HID设备),可能需要使用libusb_detach_kernel_driver,或libusb_set_auto_detach_kernel_driver,将kernel提供的驱动卸载掉,否... 查看详情

libusb简介

概述libusb是一个C库,它提供了通用的访问USB设备。它的目的是供开发人员使用方便的生产与USB通信硬件的应用程序。可移植的:使用一个跨平台API,它提供了访问USB设备在Linux上,OSXWindows,Android,OpenBSD等等。用户模式:不需要特权或高... 查看详情

linuxaarch64交叉编译之libusb库

对于libusb库的交叉编译,该项目难度并不大,但也有一些坑点。该文章目标是编译一套aarch64LinuxDebian嵌入式版本上可以运行的版本库,会用一些技巧来绕过正常的交叉编译,你问我为啥?因为交叉编译的时候有难解的问题,不是... 查看详情

LibUsb 声明接口访问被拒绝 Java

】LibUsb声明接口访问被拒绝Java【英文标题】:LibUsbclaiminterfaceaccessdeniedJava【发布时间】:2014-03-2712:46:24【问题描述】:我希望能够从USB计步器读取数据。我在Java中尝试这个,我正在使用LibUsb和Usb4Java库。我似乎无法认领USB管道... 查看详情

如何使用 libusb 和 libusb_get_device_descriptor()?

】如何使用libusb和libusb_get_device_descriptor()?【英文标题】:Howtouselibusbandlibusb_get_device_descriptor()?【发布时间】:2013-01-2105:43:51【问题描述】:我正在学习第一次在Ubuntu12.10上使用libusbv1.0.0。这是我用来尝试了解如何使用此API的一... 查看详情

libusb使用

xxx 查看详情

libusb_open 在 Windows 7 上返回“LIBUSB_ERROR_NOT_SUPPORTED”

】libusb_open在Windows7上返回“LIBUSB_ERROR_NOT_SUPPORTED”【英文标题】:libusb_openreturns\'LIBUSB_ERROR_NOT_SUPPORTED\'onWindows7【发布时间】:2013-06-2508:51:51【问题描述】:我一直在Linux上使用LibUSB开发USB驱动程序,但现在我想为Windows编译一个... 查看详情