想編譯llibusb-1.0.22:
./configure --host=arm-hisiv400-linux --prefix=`pwd`/install
但發現有如下錯誤:
...
checking libudev.h usability... no
checking libudev.h presence... no
checking for libudev.h... no
configure: error: udev support requested but libudev header not installed
由此,我們知道海思Hi3536的交叉編譯工具鏈沒有找到udev庫。由於udev很久沒有更新了,現在已被eudev取代。
到 https://dev.gentoo.org/~blueness/eudev/ 或github https://github.com/gentoo/eudev 均可獲取eudev源碼。寫博客時最新的release版本是eudev-3.2.8.tar.gz
安裝eudev時(不單是本例子的eudev依賴,其他依賴庫也如此),最好安裝到arm-hisiv400-linux交叉編譯工具鏈的默認庫尋找路徑,這樣比較省事!
/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/usr/
所以,按如下配置編譯eudev:
1, ./configure --host=arm-hisiv400-linux --prefix=/opt/hisi-linux/x86-arm/arm-hisiv400-linux/target/usr/
2, make
3, sudo make install
最後,回到編譯libusb庫,繼續完成配置,得到Makefile,最後靜態編譯libusb:
make CFLAGS=-static
make install