libusb系列-006-Qt下使用libusb1.0.9源码

817 阅读2分钟

“我正在参加「掘金·启航计划」”

头图

libusb系列-006-Qt下使用libusb1.0.9源码

libusb系列-006-Qt下使用libusb1.0.9源码摘要添加宏添加源文件编译文件测试libusb工程源码

关键字: DebianLinuxQtlibusb源码

内容背景:

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

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

摘要

这个1.0.9版本的代码移植其实我是有参考的,所以这里可以省去很多步骤,比如通过编译源码查看linux需要连接那些库,从而知道需要在项目中包含那些源文件,我可以直接在Qt里面加入源文件调试通即可

image-20221023094826327

添加宏

首先,这几个宏具体干啥咱也不知道,但是得添加,如下

DEFINES += OS_LINUX
DEFINES += "HAVE_POLL_H=1"
DEFINES += "POLL_NFDS_TYPE=nfds_t"
DEFINES += "THREADS_POSIX=1"

添加源文件

按照参考,直接添加Linux下编译libusb需要的源文件到Qt项目工程中。如下

image-20221023095204564

编译文件

直接点击Qt Creator左下角的锤子图标,编译代码,基本是一把过,这也是为啥推荐大家使用这个神仙版本1.0.9.不然想我在后面尝试编译最新的1.0.26版本,那酸爽,绝对会感谢自己的。

基本1分钟内,可以等待绿条走完,我们就可以简单测试一下

测试libusb

测试代码很简单,这里就简单测试了libusb 的初始化功能

代码如下,实际代码就一条哈,别看错了

image-20221023095452722

 qDebug() << libusb_init(NULL);

image-20221023095602436

工程源码

同样,这里也把我的Demo分享出来

Debian 10 下 Qt 5.12.3 使用libusb 1.0.9源码工程示例


cba67a62214f47c4be66d1024543cf80.png