一、概述
最近做了關于在X86環境下通過FT232H晶片實作的USB轉SPI的相關驅動,接觸到了libusb。libusb是一個開源的用C實作的,應用程式與使用者的USB裝置進行通信的庫。它是可移植的,對外使用統一的API,支援Windows、macOS、Linux、Android。它是使用者模式(user-mode),應用程式與USB裝置通信不需要高權限,但是在Android下好像有些接口需要root權限才能調用成功。它支援所有版本的USB協定。它的License是LGPL,源碼位址在https://github.com/libusb/libusb,最新釋出版本為1.0.23。
二、libusb的安裝
首先,在官網
http://libusb.info/可以下載下傳到它的安裝包,我的Linux環境是 Ubuntu 18.04.5
版本的,将下載下傳的安裝包放至/usr/local/lib/路徑下;
對安裝包進行解壓
tar xjvf libusb-1.0.24.tar.bz2

接下來安裝過程主要分為三步:
a:執行./configure來配置安裝包。
b:執行make編譯該安裝包。
c:執行make install安裝
執行 ./configure 指令,注意該指令可以選擇編譯平台,編譯的庫版本也即運作平台,編譯工具鍊,安裝路徑等,是以不是預設配置的使用者需要在此項自行配置,常見配置選項有:
--build=i686-linux指明軟體的編譯平台
--host=arm-linux 指明軟體的運作平台
--prefix 指明軟體的安裝目錄
本次是在 x86_64的本機PC上安裝,則需配置
./configure --build=x86_64-linux
又在執行過程中發現,會報出configure: error: udev support requested but libudev header not installed的錯誤,隻需要在指令後加 --disable -udev 就可解決。是以最終執行
./configure --build=x86_64-linux --disable-udev
即可成功配置,如圖所示:
執行 sudo make install
至此,提示已經将庫添加至/usr/local/lib目錄下,在後續基于libusb程式設計時,需要包含這個庫,編譯時需要加上 --lusb-1.0;具體檢視如下圖:
以上就是在Ubuntu下安裝libusb庫的所有過程;