折腾了两天,终于交叉编译出来lsusb命令可以在单板上跑起来,记录一下

1:编译eudev
下载地址:https://dev.gentoo.org/~blueness/eudev/,版本eudev-3.2.2
#export EUDEV_ROOT=`pwd`
#./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --host=arm-linux --prefix=$PWD/_install --disable-blkid --disable-kmod
#make -j2
#make install
CFLAGS=-I$EUDEV_ROOT/_install/include LDFLAGS=-L$EUDEV_ROOT/_install/lib
#export PKG_CONFIG_PATH=$PWD/_install/lib/pkgconfig/
查看_install目录

2:编译libusb
下载地址:https://github.com/libusb/libusb/releases?after=v1.0.21-rc4,用的版本为libusb-1.0.18
#export LIBUSB_ROOT=`pwd`
./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --host=arm-linux CFLAGS=-I$EUDEV_ROOT/_install/include LDFLAGS=-L$EUDEV_ROOT/_install/lib
# make -j2
# make install
查看_install目录
-lpthread

3:编译usbutils,版本usbutils-012
#export PKG_CONFIG_PATH=$EUDEV_ROOT/_install/lib/pkgconfig/:$LIBUSB_ROOT/_install/lib/pkgconfig/
./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --host=arm-linux --prefix=$PWD/_install
# make -j2
# make install

将新编译出来的lsusb命令拷贝至运行环境(同时需要将对应的libusb库也拷贝至运行环境,同时配置LD_LIBRARY_PATH)

为方便执行,编译为静态库
./configure CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ --host=arm-linux --prefix=$PWD/_install CFLAGS='-g -O2 -static'
修改Makefile文件,在UDEV_LIBS中,添加对pthread库的调用
例如:
UDEV_LIBS = -LCROSS_TOOLCHAINS_ROOT/arm-linux-gnueabihf/libc/usr/lib -lpthread -L/usr1/wangjunhui/usbutils/eudev-3.2.2/_install/lib -ludev

最新文章

  1. 移动端页面按手机屏幕分辨率自动缩放的js
  2. Windows服务一:新建Windows服务、安装、卸载服务
  3. redis配置文件参数说明及命令操作
  4. matlab实现hog特征
  5. Storm集成Kafka应用的开发
  6. 161104、NoSQL数据库:key/value型之levelDB介绍及java实现
  7. centos6.7 install chrome
  8. .NET中删除空白字符串的10大方法
  9. poj1155(树形dp)
  10. WCF基金会
  11. android蓝牙学习
  12. 父(Spring)子(SpringMVC)容器之初解篇
  13. Zabbix实战-简易教程--宏变量(Macro)
  14. PXE安装windows系统,pxe-e55:ProxyDhcp service did not reply to request on port 4011
  15. 事件(Event)(onclick,onchange,onload,onunload,onfocus,onblur,onselect,onmuse)【转载】
  16. JNI与底层调用
  17. Jenkins部署报weblogic.deploy.api.tools.deployer.DeployerException: Java heap space
  18. Postfix 邮件服务 - 基础服务
  19. Python3 tkinter基础 Frame bind 捕捉多键同时按
  20. maven centos7 环境变量

热门文章

  1. Linux 笔记 - 第二十三章 MySQL 主从复制配置
  2. salesforce零基础学习(九十四)classic下pagelayout引入的vf page弹出内容更新此page layout
  3. vue pc客户端项目总结
  4. Extjs 树菜单的自动展开数据的请求
  5. 【转】Why BIOS loads MBR into 0x7C00 in x86 ?
  6. NIO的整体认识
  7. CRM产品主数据在行业解决方案industry solution中的应用
  8. day 46
  9. MySQL数据库(五)--用户管理、pymysql模块
  10. 判断cms-暴库-后台查找-密码破解