[Author: Bo Shen <[email protected]>]
Assume you have the cross toolchain installed on your Linux host, here I use ubuntu 12.04 with arm-linux-gnueabihf-gcc installed. (if not, here is the command)
--->8---
For the SoC support hard float point
$ sudo apt-get install gcc-arm-linux-gnueabihf
For the SoC only support soft float point
$ sudo apt-get install gcc-arm-linux-gnueabi
---8<---
Then set the environment
--->8---
$ export ARCH=arm
$ export CROSS_COMPILE=arm-linux-gnueabi-
---8<---
The following steps are real to build the libusb.
1. Get the source code
$ git clone git://git.libusb.org/libusb.git
2. configure the source
2.1 Edit the autogen.sh file, remove following lines
--->8---
./configure --enable-maintainer-mode --enable-debug-log \
--enable-examples-build "$@"
---8<---
2.2 Then run the autogen.sh script
$ ./autogen.sh
2.3 Configure the libusb
$ ./configure --host=arm-linux-gnueabihf --prefix=/tmp/_install --enable-examples-build
NOTE: the --enable-examples-build is used to generate the Makefile.
2.4 Make
$ make
$ make install
3. Build the examples
$ cd examples
$ arm-linux-gnueabihf-gcc -I/tmp/_install/include/libusb-1.0 -L/tmp/_install/lib/ -lusb-1.0 -o listdevs listdevs.c
If you meet the error: "can not find the libusb.h", please edit the listdevs.c, change the following lines:
from #include <libusb.h> to #include "libusb.h"