libusb系列-002-Windows下libusb源码编译

news2025/1/13 11:37:48
头图

libusb系列-002-Windows下libusb源码编译

文章目录

  • libusb系列-002-Windows下libusb源码编译
    • 摘要
    • Windows下编译libusb库
      • 下载源码
      • 进入msvc目录
      • 选择对应的项目工程
      • 编译
      • 查看编译好的库文件

关键字: vs编译Qtlibusbwindows

内容背景:

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

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

摘要

这篇是临时凑出来的一篇,因为下面要写怎么在Qt使用libusb库,所以这篇就得编译出libusb库。本篇为windows编译libusb库。

Windows下编译libusb库

Windows下编译libusb是很简单的,基本就是有手就可以。当前我的系统是win 11 22h2``吧好像,vs 使用的2019 ,我只有这个。

下载源码

这个应该不用再说了,不知道的直接看上一篇,这里就借下上一篇的图了,直接在官网界面找到Downloads,鼠标戳他就可以,会直接跳转到Github上地址上。如下图所示

image-20221021102323575

这里有个问题,就是如果我们是从官网跳转过来的,会直接跳转到 Release下,直接选择需要的版本下载即可,这里我还是下载libusb 1.0.26在Windows下进行编译。

image-20221021102618653

进入msvc目录

解压下载好的源码压缩包,源码结构如下图所示

image-20221022135744768

进入到msvc目录,如下图所示

image-20221021213503006

选择对应的项目工程

在目录下,我们可以看到有许多版本的工程,包括dll动态库的,还有标记static静态库,根据需要打开对应的工程即可。我这里就选择了动态库版本,并使用vs2019编译,如上图所示。

image-20221022140159634

编译

这里就和vs编译其他库一样了,选择项目,鼠标右键生成,即可,我这里忘记截图了,仅贴一个编译日志,如下图所示

image-20221021213751354

查看编译好的库文件

根据日志,可以看到我们库文件路劲,切刀对应路径查看,如下图所示

image-20221021213839085

至此,我们已经编译好了我们需要的库文件,就可以在Qt中和使用其他库一样使用了libusb了。和面不会单独开在win下 libusb 的使用,这里贴一个以前的关于Qt调用外部动态库的内容https://blog.csdn.net/z609932088/article/details/50902302?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166641864416782390510561%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=166641864416782390510561&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogfirst_rank_ecpm_v1~rank_v31_ecpm-1-50902302-null-null.nonecase&utm_term=%E5%A4%96%E9%83%A8%E5%BA%93&spm=1018.2226.3001.4450

image-20221022140443501


博客签名2021

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/29.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从 0 到 1 落地前端工程化

你将获得 初识:总结前端工程化技能图谱 了解:梳理前端工程化落地流程 掌握:搭建前端工程化基建项目 提高:实战前端工程化解决方案 作者介绍 JowayYoung,资深前端工程师,目前就职于网易互动娱乐事业群&…

建立私人知识网站 cpolar轻松做到1 (部署DokuWiki)

维基百科(wiki)相信大家都有所耳闻,作为全球最有名的百科知识搜索网站,很多不常见的知识点都能在这上面搜索到,而维基百科能够成功的原因,就是可以编辑的和修订的功能,让维基百科能够收到各领域…

vue学习笔记——简单入门总结(一)

Vue学习笔记 文章目录Vue学习笔记1. 学习vue的准备1.1. vue简介:1.2. vue特点:1.2.1. 组件化:1.2.1. 声明式:1.2. vue的引入1.2.1. 直接引入:1.2.2. 脚手架构建vue项目:1.2.3:vue开发插件安装:2. vue的简单…

apache服务web页面执行shell脚本

首先安装apache服务 yum -y install httpd 如下介绍两种执行的方式 方式一、url直接传参的方式 #cat /var/www/cgi-bin/shell #!/bin/sh printf "Content-Type: text/plain\n\n" your_commands_here传参的动作 http://172.16.61.119:8098/cgi-bin/shell?pwd在…

STM32使用寄存器开发底层驱动学习(USART+DMA)

目录学习资料下载任务USART的DMA功能发送数据DMA非中断模式接收USART数据。DMA中断模式接收USART数据总结学习资料下载 在本文学习中会用到如下的文档资料,没有的朋友先下载。 工程模板 Cortex M3权威指南(中文) :本文简称为《…

1024程序节|你知道老师上课随机点名是怎么实现的吗

个人主页:天寒雨落的博客_CSDN博客-C,CSDN竞赛,python领域博主 目录 前言 随机点名 搭建主体框架 简述 执行代码 添加功能 块级元素随机输出姓名 Math.random() Math.round() 按钮控制开始/结束 onclick() clearInterval() 简述 完整代码 执行结果 片…

I/O复用--浅谈epoll

我们聊了聊select和poll知道: 它们都是采取轮询的方式查找是否有就绪描述符。都有数据结构从用户态拷贝到内核态,内核态拷贝到用户态这个过程。 为了针对许多大量连接,高并发的的场景下大量的资源消耗,效率低的问题,这…

网络安全实战:记一次比较完整的靶机渗透

0x01信息搜集 nmap -sC -sV -p- -A 10.10.10.123 -T4 -oA nmap_friendzone访问80端口的http服务只发现了一个域名。 0x02 DNS区域传输 因为我们前面扫描的时候发现了53端口是开着一个dns服务的,所以尝试使用friendzoneportal.red进行axfr,它的具体含…

《软件测试》实验2:嵌入式软件测试实验报告

文章目录实验目的温度控制器需求文档及测试要求环境搭建实验内容温度采集处理功能测试加热棒输出电压测试散热风扇温度传感器输入接口(Senser_JK)控制加热棒输出接口(Heater_JK)控制散热风扇输出接口(Fan_JK&#xff0…

目标检测 YOLOv5 - 模型推理预处理 letterbox

目标检测 YOLOv5 - 模型推理预处理 letterbox flyfish 版本:YOLOv5 6.2 假如图片大小是1080 * 1920 (height * width ) width 1920 height 1080 当模型输入是 640 * 640时 shapes (1080, 1920), (0.33, 0.33), (0.0, 140.0) 640/ 1920…

c++11 右值引用和移动语义

文章目录1. 左值引用和右值引用2. 左值引用与右值引用比较3. 右值引用使用场景和意义3.1左值引用的使用场景3.2左值引用的短板:3.3 移动构造3.4 移动赋值3.5 STL中的容器3.6 右值引用引用左值及其一些更深入的使用场景分析3.7 STL容器插入接口函数也增加了右值引用版…

Springboot 使用装饰器模式,快看,它装起来了

前言 小飞棍来咯! 本篇文章跟小飞棍一毛钱关系没有。 本篇内容: 就是配合实战案例介绍我们平时 在springboot项目里面 怎么去用 装饰器模式、多层装饰怎么玩。 正文 首先先说下装饰器模式是什么 官方: 装饰器模式(Decorator Pa…

Python3,5行代码,制作Gif动图,太简单了。

gif动图制作1、引言2、代码实战2.1 安装2.2 代码3、总结1、引言 小屌丝:鱼哥, 你能不能帮我找一个动图, 小鱼:啥动图,你自己百度不就行了。 小屌丝:我这不是没找到吗, 不然我就自己来找了。 小…

Oracle数据库:net configureation assistant工具配置监听listener,配置本地网络访问服务器上的数据库

Oracle数据库:net configureation assistant工具配置监听listener,配置本地网络访问服务器上的数据库 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开…

图像类找工作面试题(二)——常见问题大总结

文章目录一、深度学习问题1、目标检测系列(1)介绍目标检测网络YOLO以及SSD系列原理。(2)YOLO对小目标检测效果不好的原因,怎么改善?(3)怎么防止过拟合(4)Drop…

Ubuntu18.04LTS环境下创建OpenCV4.x-Android库

1 背景 1.1 java.lang.UnsatisfiedLinkError: dlopen failed: library “libc_shared.so” not found libc_shared.so 之前默认集成在 opencv_java3.so,但是在OpenCV4.x以后,该动态库默认不集成在opencv_java4.so。 1.2 E/OpenCV/StaticHelper: OpenC…

NLP学习之:Bert 模型复现(1)任务分析 + 训练数据集构造

​ 文章目录代码资源原理学习任务代码讲解代码重写说明代码资源 Bert-pytorch 原理 学习任务 Bert 本质上是 Transformer 的 Encoder 端,Bert 在预训练时最基本的任务就是: 判断输入的两个句子是否真的相邻预测被 [MASK] 掉的单词 通过这两种任务的约…

面了个腾讯拿28k跳槽出来的,真正见识到了跳槽天花板

最近内卷严重,各种跳槽裁员,相信很多小伙伴也在准备金九银十的面试计划。 作为一个入职5年的老人家,目前工资比较乐观,但是我还是会选择跳槽,因为感觉在一个舒适圈待久了,人过得太过安逸,晋升涨…

ToDesk使用

现在的终端产品种类非常的多,常见的包括tablet, 手机,笔记本 ,ipod...等等,这些终端带屏产品连同台式机,智能电视等固定设备占据了我们的工作和生活中的大部分时间,不知道你发现没有,使这些不同种类的产品之…

[机器学习、Spark]Spark MLlib实现数据基本统计

👨‍🎓👨‍🎓博主:发量不足 📑📑本期更新内容:Spark MLlib基本统计 📑📑下篇文章预告:Spark MLlib的分类🔥🔥 简介&…