使用过USB的同学,应该都知道Libusb这个库。这个库使用起来非常简单,内部提供了强大的接口,下面我来总结一下 交叉编译过程。
libusb驱动库包含了 libusb-1.0.9.tar.bz2 和 libusb-compat-0.1.4.tar.bz2,下载地址如下:
https://download.csdn.net/download/bearobot/11029834
1、编译 libusb-1.0.9.tar.bz2 库:
(1).解压:
# tar -xvf libusb-1.0.9.tar.bz2
# cd libusb-1.0.9
(2).使用 gcc 编译时,即在PC 虚拟机的 Linux平台上面使用时候:
当在32bit的编译器上编译时:
# ./configure --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=gcc
当在64bit的编译器上编译时:
# CFLAGS="-O -fPIC" ./configure --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=gcc
(3).使用 arm-linux-gcc 编译(需要指定主机:--host="arm-linux")时,即在arm平台上面使用时候:
当在 arm 32bit的编译器上编译时:
# ./configure --host="arm-linux" --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=arm-linux-gcc
当在arm 64bit的编译器上编译时:
# CFLAGS="-O -fPIC" ./configure --host="arm-linux" --prefix=$(pwd)/_install_libusb --disable-shared --enable-static CC=arm-linux-gcc
(4).编译
# make
# make install
(5).编译完成,即可在 _install_libusb 目录下看到生成的 库文件 和 h文件,tree如下图,其中 libusb-1.0.a 和 libusb.h 即为我们需要的文件:
2、编译 libusb-compat-0.1.4.tar.bz2 库:
(1).解压:
# tar -xvf libusb-compat-0.1.4.tar.bz2
# cd libusb-compat-0.1.4
(2).将 libusb-1.0.9.tar.bz2 生成的文件夹拷贝到本目录(需要特别注意这一步,否则后面会生成Makefile失败):
# cp ../libusb-1.0.9/_install_libusb/ ./ -rf
(3).使用 gcc 编译时,即在PC 虚拟机的 Linux平台上面使用时候:
当在32bit的编译器上编译时:
# ./configure --prefix=$(pwd)/_install_libusb PKG_CONFIG_PATH=$(pwd)/_install_libusb/lib/pkgconfig --enable-static --disable-shared CC=gcc
当在64bit的编译器上编译时:
# CFLAGS="-fPIC" ./configure --prefix=$(pwd)/_install_libusb PKG_CONFIG_PATH=$(pwd)/_install_libusb/lib/pkgconfig --enable-static --disable-shared CC=gcc
(4).使用 arm-linux-gcc 编译(需要指定主机:--host="arm-linux")时,即在arm平台上面使用时候:
当在 arm 32bit的编译器上编译时:
# ./configure --host="arm-linux" --prefix=$(pwd)/_install_libusb PKG_CONFIG_PATH=$(pwd)/_install_libusb/lib/pkgconfig --enable-static --disable-shared CC=arm-linux-gcc
当在arm 64bit的编译器上编译时:
# CFLAGS="-fPIC" ./configure --host="arm-linux" --prefix=$(pwd)/_install_libusb PKG_CONFIG_PATH=$(pwd)/_install_libusb/lib/pkgconfig --enable-static --disable-shared CC=arm-linux-gcc
(5).编译
# make
# make install
(5).编译完成,即可在 _install_libusb 目录下看到生成的 库文件 和 h文件,tree如下图,其中 libusb-1.0.a & libusb.h & libusb.a & usb.h 即为我们需要的文件:
上述即为libusb库的交叉编译过程,我们将 libusb-1.0.a & libusb.h & libusb.a & usb.h 编译到我们程序中即可使用libusb通讯。
本人能力有限,如有疑问或者错误,请及时提出了。谢谢!!!