cross compile the libusb and examples

[Author: Bo Shen ]


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 to #include "libusb.h"

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