当前位置: 首页 > news >正文

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

头图

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

文章目录

  • libusb系列-004-Qt下使用libusb库
    • 摘要
    • 复制库到指定目录
    • 在Pro中包含库文件
    • 包含头文件
    • 多说一句

关键字: 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库也编译进去了。


博客签名2021

相关文章:

  • vue的简单学习
  • Arduino基础知识
  • 【入门4】数组——蛇形方阵
  • web自动化测试——入门篇01
  • 探索云原生技术之容器编排引擎-Kubernetes/K8S详解(5)
  • 软考中级(软件设计师)——面向对象程序设计(C++Java二选一的题15分-目标3分)
  • 《JavaSE-第十四章》之文件(一)
  • 【C++】命名空间输入输出缺省参数函数重载
  • C++ STL速成
  • 网络安全知识之什么是网络安全?
  • Mybatis----多表查询
  • @Autowired注解的实现原理
  • 【C语言】指针(进阶)
  • Opencv 图像处理:数字图像的必会知识
  • 【Linux】Linux下的编辑器——vim
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 03Go 类型总结
  • - C#编程大幅提高OUTLOOK的邮件搜索能力!
  • conda常用的命令
  • C学习-枚举(九)
  • javascript从右向左截取指定位数字符的3种方法
  • JavaScript服务器推送技术之 WebSocket
  • JavaScript设计模式与开发实践系列之策略模式
  • Java超时控制的实现
  • JAVA多线程机制解析-volatilesynchronized
  • mac修复ab及siege安装
  • Netty源码解析1-Buffer
  • 对话:中国为什么有前途/ 写给中国的经济学
  • 给github项目添加CI badge
  • 使用 Docker 部署 Spring Boot项目
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 如何在招聘中考核.NET架构师
  • ​渐进式Web应用PWA的未来
  • # 飞书APP集成平台-数字化落地
  • #Js篇:单线程模式同步任务异步任务任务队列事件循环setTimeout() setInterval()
  • #NOIP 2014# day.1 T2 联合权值
  • #周末课堂# 【Linux + JVM + Mysql高级性能优化班】(火热报名中~~~)
  • (11)MSP430F5529 定时器B
  • (delphi11最新学习资料) Object Pascal 学习笔记---第2章第五节(日期和时间)
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (第一天)包装对象、作用域、创建对象
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (一)使用Mybatis实现在student数据库中插入一个学生信息
  • (自适应手机端)响应式新闻博客知识类pbootcms网站模板 自媒体运营博客网站源码下载
  • (自用)learnOpenGL学习总结-高级OpenGL-抗锯齿
  • .net MVC中使用angularJs刷新页面数据列表
  • .NET Standard / dotnet-core / net472 —— .NET 究竟应该如何大小写?
  • .Net 中Partitioner static与dynamic的性能对比
  • @四年级家长,这条香港优才计划+华侨生联考捷径,一定要看!
  • []error LNK2001: unresolved external symbol _m
  • [20161101]rman备份与数据文件变化7.txt
  • [AutoSar]工程中的cpuload陷阱(三)测试
  • [C++]高精度 bign (重载运算符版本)