码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • libusb系列-003-Linux下libusb源码编译


    头图

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

    文章目录

    • libusb系列-003-Linux下libusb源码编译
      • 摘要
      • 源码下载及解压
        • 下载源码
        • 解压下载的源码压缩包
        • 打开终端
      • 准备编译环境
        • 安装make dh-autoreconf
        • 安装 libudev-dev
      • 编译
        • 错误的教程
      • 增加执行bootstrap.sh指令
      • 再编译
      • make
      • 安装库
      • 确认下

    关键字: Debian、 Linux、 Qt、 libusb、 源码

    内容背景:

    最近项目终于切到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区别。

    image-20221021214938613

    解压下载的源码压缩包

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

    image-20221021215039434

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

    image-20221022142401473

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

    image-20221022142450619

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

    image-20221022142557183

    打开终端

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

    image-20221021215243890

    准备编译环境

    安装make dh-autoreconf

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

    sudo apt install -y make dh-autoreconf
    
    • 1

    image-20221021215908781

    安装 libudev-dev

    执行如下指令

    sudo apt install -y libudev-dev
    
    • 1

    image-20221021215916278

    编译

    错误的教程

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

    image-20221021220709088

    image-20221021220739872

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

    image-20221021220933549

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

    image-20221021221541846

    增加执行bootstrap.sh指令

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

    sudo ./bootstrap.sh
    
    • 1

    如下

    image-20221021222011451

    再编译

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

    image-20221021222142323

    make

    image-20221021222221527

    这里还整的没有权限了

    image-20221021222241205

    安装库

    image-20221021222336746

    又是整的没有权限了

    image-20221021222406397

    确认下

    到目录下确认下

    image-20221021222417516

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


    博客签名2021
  • 相关阅读:
    什么是Docker容器?Docker容器和VM有什么区别?
    【剑指offer系列】36. 二叉搜索树与双向链表
    logistic回归列线图(nomogram)的多种绘制方法
    PL2303驱动程序不支持WINDOWS 11及后续版本
    百度智能云千帆Appbuilder全面升级!可玩性更强!速来体验!
    Git入门(保姆级教学)
    深入理解Redis
    儿童三轮自行车外观及结构设计(lunwen+任务书+开题+文综+翻译及原文+三维模型)
    Stream 流式编程:并行流
    【智能优化算法】基于沙猫群优化算法求解单目标优化问题附matlab代码
  • 原文地址:https://blog.csdn.net/z609932088/article/details/127462915
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号