使用過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通訊。
本人能力有限,如有疑問或者錯誤,請及時提出了。謝謝!!!