libusb 和 usbutils 的交叉编译

文章讲述了如何为特定平台(如arm-linux)交叉编译libusb-1.0.26和usbutils-007,以解决buildroot提供的usbutils版本过低的问题。编译过程包括配置环境、指定编译器路径、设置库和头文件路径,然后进行编译和安装。最终,将编译生成的库和工具通过ssh复制到目标设备上。如果usbutils版本高于007,可能会遇到兼容性问题。
摘要由CSDN通过智能技术生成

libusb 和 usbutils 的交叉编译

  • 摘要
    因为需要使用到usb设备,但是buildroot编译的usbutils版本太低了,很多功能不能使用,因此重新编译usbutils 工具

  • 链接
    libusb 下载地址: https://sourceforge.net/projects/libusb/
    usbutils 下载地址:https://mirrors.edge.kernel.org/pub/linux/utils/usb/usbutils/

使用的是 libusb-1.0.26 和 usbutils-007

libusb 编译:

./configure CC=/home/alientek/asd/rv1126_rv1109/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --host=arm-linux --prefix=$PWD/../install --disable-udev && make && make install

usbutils 编译:

./configure CC=/home/alientek/asd/rv1126_rv1109/prebuilts/gcc/linux-x86/arm/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc --host=arm-linux LIBUSB_LIBS=-lusb-1.0 LDFLAGS=-L$PWD/../install/lib libsocketcan_CFLAGS=-I$PWD/../install/include/ CPPFLAGS=-I$PWD/../install/include/ && make

编译出install内容:
在这里插入图片描述

在 usbutils-007文件中,需要文件如下:

在这里插入图片描述

拷贝到板子上:

sshpass -p "rockchip" scp lsusb root@192.168.0.55:/usr/bin/
sshpass -p "rockchip" scp usb.ids root@192.168.0.55:/usr/share/


cd ../install
sshpass -p "rockchip" scp lib/libusb* root@192.168.0.55:/usr/lib
sshpass -p "rockchip" scp lib/pkgconfig/libusb* root@192.168.0.55:/usr/lib/pkgconfig

没有usb.ids的报错
在这里插入图片描述

usbutils版本大于007,则报错
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
libusb交叉编译涉及到在一个平台上为另一个平台编译libusb库。下面是一个关于如何进行libusb交叉编译的步骤: 1. 解压libusb库:使用tar命令解压libusb的压缩包。例如,可以使用以下命令: ``` tar -xvf libusb-1.0.9.tar.bz2 ``` 2. 进入libusb目录:使用cd命令进入解压后的libusb目录。例如,可以使用以下命令: ``` cd libusb-1.0.9 ``` 3. 根据不同的编译器选择不同的配置命令: - 如果在PC虚拟机的Linux平台上使用32位编译器,可以使用以下命令: ``` ./configure --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=gcc ``` - 如果在PC虚拟机的Linux平台上使用64位编译器,可以使用以下命令: ``` CFLAGS="-O -fPIC" ./configure --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=gcc ``` - 如果在arm平台上使用arm-linux-gcc编译器,需要指定主机为arm-linux,可以使用以下命令: - 对于arm 32位编译器: ``` ./configure --host="arm-linux" --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=arm-linux-gcc ``` - 对于arm 64位编译器: ``` CFLAGS="-O -fPIC" ./configure --host="arm-linux" --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=arm-linux-gcc ``` 4. 编译并安装库:使用make命令进行编译,之后使用make install命令进行安装。例如,可以使用以下命令: ``` make make install ``` 5. 完成编译:编译完成后,您可以在_install_libusb目录下找到生成的库文件和头文件。其中,libusb-1.0.a和libusb.h是我们所需的文件。 希望以上步骤能够帮助您进行libusb交叉编译。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Libusb交叉编译](https://blog.csdn.net/beArobot/article/details/88627831)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [Linux aarch64交叉编译libusb库](https://blog.csdn.net/vviccc/article/details/126411782)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值