使用過usb的同學,應該都知道libusb這個庫。這個庫使用起來非常簡單,內部提供了強大的介面,下面我來總結一下 交叉編譯過程。
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 目錄下看到生成的 庫檔案 和 **件,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 目錄下看到生成的 庫檔案 和 **件,tree如下圖,其中 libusb-1.0.a & libusb.h & libusb.a & usb.h 即為我們需要的檔案:
上述即為libusb庫的交叉編譯過程,我們將 libusb-1.0.a & libusb.h & libusb.a & usb.h 編譯到我們程式中即可使用libusb通訊。
本人能力有限,如有疑問或者錯誤,請及時提出了。謝謝!!!
libusb的交叉編譯
二 安裝 在linux終端下輸入命令 1 解壓 tar xvf libusb 1.0.21.tar.bz2 2 進入目錄cd libusb 1.0.21,生成待安裝的目錄mkdir install 交叉編譯好的庫檔案將放在此目錄下 3 配置安裝選項 configure host arm linux ...
編譯 交叉編譯
交叉編譯含義 是指在乙個平台上生成另乙個平台上的可執行 同乙個體系結構可以執行不同的作業系統,同樣乙個作業系統也可以在不同的體系結構上執行 例 常說的x86 linux平台 指inter x86體系結構及linux for x86作業系統 x86 winnt平台 指inter x86體系結構及win...
交叉編譯(2) 交叉編譯鏈
什麼是交叉編譯鏈 明白了什麼是交叉編譯,那我們來看看什麼是交叉編譯鏈。首先編譯過程是按照不同的子功能,依照先後順序組成的乙個複雜的流程,如下圖 那麼編譯過程包括了預處理 編譯 彙編 鏈結等功能。既然有不同的子功能,那每個子功能都是乙個單獨的工具來實現,它們合在一起形成了乙個完整的工具集。同時編譯過程...