libusb系列-003-linux下libusb源码编译(代码片段)

DreamLife. DreamLife.     2022-11-22     298

关键词:

libusb系列-003-Linux下libusb源码编译

文章目录


关键字: DebianLinuxQtlibusb源码

内容背景:

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

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

摘要

相对于上篇Windows下libusb的编译,那么Linux下对于我来说就比较困哪了,不过好在还是搞出来了。这里Linux 系统是Debian 10 。gcc版本8.3.0.

源码下载及解压

下载源码

第一步还是下载源码,编译编译,没有源码咋编译,还是和win下一样。下载1.0.26版本的libusb,如下图所示.1.0.9版本我没有下载,原理应该差不多的,这里不在多描述。

这里需要提一个小小的建议,源码压缩包在win 下最好下载zip 的,在linux下,最好还是下载tar.gz的,其中他们的尾行序列可能不一样,也就是LFh和CRLF区别。

解压下载的源码压缩包

下载好以后,解压到当前用户根目录下,如下图所示,因为咱命令用的不是很熟练,所以还是能图形界面就图形界面,命令行实在玩不溜,哈哈哈。直接点击提取 选择我们的根目录就可以了。或者选择一个自己喜欢的目录。在提取完成后,会有一个显示文件夹的提示。

这里选择主目录就可以,好找,即使用命令,也可以直接cd就可以了,可以直接省去路劲。点击提取就好了

这里也是,可以直接点击显示文件,可以省去再到主目录找文件的步骤。如下图所示

这里,也要主要哦,直接鼠标双击这个文件夹,进去在里面打开终端。

打开终端

完了在解压目录下打开终端,这样就省去CD到源码目录的指令了,嘿嘿嘿。

准备编译环境

安装make dh-autoreconf

这里其实make 是不用安装的,但是为了保险起见,还是安装一下为好。执行如下指令

sudo apt install -y make dh-autoreconf

安装 libudev-dev

执行如下指令

sudo apt install -y libudev-dev

编译

错误的教程

要说这就是坑呢,网上大部分都是./autogen.sh ./configure, make,问题是这个是不好使的呀。看看我遇到的问题。

所呢,我又安装了一个叫 pkg-config 的东西,如下

但是呢,还是没有结局,一样的错误

增加执行bootstrap.sh指令

最终还是谷歌到了,在加一条指令

sudo ./bootstrap.sh

如下

再编译

完了在执行就./configure就好了,如下图所示

make

这里还整的没有权限了

安装库

又是整的没有权限了

确认下

到目录下确认下

至此,在Linux 我们也有了libusb的库了,后面就是使用了。


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

libusb系列-004-Qt下使用libusb库文章目录libusb系列-004-Qt下使用libusb库摘要复制库到指定目录在Pro中包含库文件包含头文件多说一句关键字:Debian、Linux、Qt、libusb、源码内容背景:最近项目终于切到Linux下开发了,所以最... 查看详情

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系列-001-libusb简介(代码片段)

libusb系列-001-libusb简介文章目录libusb系列-001-libusb简介摘要基本信息简介支持平台官网如何使用下载神奇的1.0.9版本关键字: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系列-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 查看详情

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 查看详情

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

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

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三、... 查看详情

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提供的驱动卸载掉,否... 查看详情

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

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

libusb驱动在win10下的安装过程

...win10下如何关闭强制数字签名,请参考另一篇博文。4、将libusb0.h和lib文件加入工程,编译后,可以运行。 查看详情

如何使用 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示例

#include<stdio.h>#include<libusb-1.0/libusb.h>#include<stdint.h>#include<string.h>voidprocessMessage(constuint8_t*);/*---------------------------------------------------------- 查看详情

缓慢构建 librealsense libusb

】缓慢构建librealsenselibusb【英文标题】:slowbuildlibrealsenselibusb【发布时间】:2020-09-2312:59:45【问题描述】:当我启动我的程序时,构建需要很长时间,比如3.5分钟。我明白了:1>------Buildstarted:Project:libusb(ExternalProjectTargets\\libusb... 查看详情

安卓L | libusb_init 返回 LIBUSB_ERROR_OTHER (-99)

】安卓L|libusb_init返回LIBUSB_ERROR_OTHER(-99)【英文标题】:AndroidL|libusb_initreturnsLIBUSB_ERROR_OTHER(-99)【发布时间】:2014-10-2900:22:54【问题描述】:我尝试按照thisapproach中的建议在未植根的Nexus5上使用libusb(通过将USB文件描述符从java传输... 查看详情

通过 libusb 与 USB 设备通信的蛮力方法

】通过libusb与USB设备通信的蛮力方法【英文标题】:BruteforcemethodtocommunicatewithUSBdevicevialibusb【发布时间】:2013-12-1103:16:12【问题描述】:我有一个USB设备(6个灯:2个红外灯、2个白灯、2个LED),我无法使用windows驱动程序(我也... 查看详情

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编译一个... 查看详情