arm-linux-gnueabihf-gcc交叉编器libusb库

目录

  • 一、下载libusb
    • 下载网址:http://www.libusb.org/
  • 二、交叉编译libusb库生成和安装
    • 1.执行configure 生成Makefile
      • 在home目录下创建libusb目录用来存放libusb开源库
      • 创建库的安装路径
      • 进入 libusb目录
      • 解压libusb压缩包
      • 进入 libusb目录
      • 执行configure 生成Makefile
    • 2. make 执行 Makefile 文件
    • 3. make install执行安装
  • 三、交叉编译测试程序
  • 四、把listdevs程序复制到arm板上执行结果并用lsusb命令验证
    • 1. listdevs程序执行查询usb驱动VID和PID
    • 2.用lsusb命令查询usb驱动VID和PID
    • 3.结果
  • 五、查看install下的文件
    • 1.头文件路径
    • 2.库文件

一、下载libusb

下载网址:http://www.libusb.org/

例如:libusb-1.0.26.tar.bz2 版本

二、交叉编译libusb库生成和安装

1.执行configure 生成Makefile

在home目录下创建libusb目录用来存放libusb开源库

~$ mkdir libusb 

创建库的安装路径

~$ mkdir libusb/install

进入 libusb目录

~$ cd libusb/

解压libusb压缩包

~/libusb$ tar -xvf libusb-1.0.26.tar.bz2

进入 libusb目录

~/libusb$ cd libusb-1.0.26/
~/libusb/libusb-1.0.26$ 

执行configure 生成Makefile

./configure --build=i686-linux --host=arm-linux --prefix=/home/new/libusb/install CC=/home/new/Software/rv1126/rv1126-sdk/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-gcc CXX=/home/new/Software/rv1126/rv1126-sdk/gcc-linaro-6.3.1-2017.05-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-g++ --disable-udev
执行上述指令后报如下错误
【--build=i686-linux 】:表示该软件在x86平台被编译
【--host=arm-linux】:表示该libusb库编译完成后在arm平台上运行
【--prefix=/home/.... 】: 表示为改库安装路径。
【CC=/home... 】【CXX=/home.. 】 :表示指定了交叉编译使用的C,C++交叉编译器
【--disable-udev】 : 表示 不使能 libudev,不加会出现如下错误提示:
					  configure: error: udev support requested but libudev header not installed

2. make 执行 Makefile 文件

$ make

arm-linux-gnueabihf-gcc交叉编器libusb库_第1张图片

3. make install执行安装

$ make install

arm-linux-gnueabihf-gcc交叉编器libusb库_第2张图片

执行完make install后我们可以在prefix指定的目录中看到编译好的库及相应的头文件。
在arm平台下使用的库文件名称是:libusb-1.0.so.0.1.0。

三、交叉编译测试程序

进入examples

~/libusb/libusb-1.0.26$ cd examples/

交叉编译器arm-linux-gnueabihf-gcc编译测试源程序 listdevs.c

arm-linux-gnueabihf-gcc -o listdevs -I/home/new/libusb/install/include/libusb-1.0 listdevs.c -L/home/new/libusb/install/lib -lusb-1.0

四、把listdevs程序复制到arm板上执行结果并用lsusb命令验证

1. listdevs程序执行查询usb驱动VID和PID

在这里插入图片描述

2.用lsusb命令查询usb驱动VID和PID

在这里插入图片描述

3.结果

listdevs程序与lsusb命令查询结果一致,安装编译成功。

五、查看install下的文件

1.头文件路径

arm-linux-gnueabihf-gcc交叉编器libusb库_第3张图片

2.库文件

arm-linux-gnueabihf-gcc交叉编器libusb库_第4张图片

在linux中,la是使用libtool编译出的库文件,是记录同名动态库和静态库相关信息的文本文件;
该文件是通过libtool保存在平台之间的唯一文件。libtool是一个通用库支持脚本,只与后缀名为lo、la的libtool文件打交道。
libtool 是一个通用库支持脚本,将使用动态库的复杂性隐藏在统一、可移植的接口中;
使用libtool的标准方法,可以在不同平台上创建并调用动态库。
可以认为libtool是gcc的一个抽象,其包装了gcc(或者其他的编译器),用户无需知道细节;
只要告诉libtool需要编译哪些库即可,libtool将处理库的依赖等细节。

你可能感兴趣的:(Linux,linux,arm)