Libusb交叉編譯

  使用過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.alibusb.h & libusb.a & usb.h 即爲我們需要的文件:

 

    上述即爲libusb庫的交叉編譯過程,我們將 libusb-1.0.alibusb.h & libusb.a & usb.h 編譯到我們程序中即可使用libusb通訊。

 

  本人能力有限,如有疑問或者錯誤,請及時提出了。謝謝!!!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章