2013-07-25 27 views
2

我試圖編譯一個工具,使用libusb與修改libusb爲Android。 修改後的libusb已編譯並按預期安裝到/usr/local/lib。 問題是獨立的toolchain已經包含libusb,它會傷害鏈接/編譯。如何從Android獨立工具鏈中刪除libusb?

./configure 

返回:

... 
checking for usb_get_string_simple in -lusb... yes 
... 

所以libusb如果找到好。

但隨着獨立toolchain

export CROSS_COMPILE=arm-linux-androideabi 
export CC=${CROSS_COMPILE}-gcc 
export CXX=${CROSS_COMPILE}=g++ 
export NDK=/softdev/android-ndk-r8e 
export ANDROID_NDK_ROOT=/softdev/android-ndk-r8e 
export SYSROOT=$NDK/platforms/android-8/arch-arm 
export PATH=/softdev/arm-toolchain/bin:$PATH:/softdev/android-ndk-r8e/platforms/android-8/arch-arm 

./configure --build=x86-unknown-linux-gnu --host=arm-linux-androideabi --target=arm-linux-androideabi 

它返回:

... 
checking for usb_get_string_simple in -lusb... no 
... 

如何使它與獨立toolchain工作? libusb-0.1使用

回答

1

那麼,最後我能夠解決它。

  1. 工具configure.ac文件沒有寫入使用libusb-compat(但僅用於libusb-0.1)。

所以我解決它通過增加依賴,而搜索的libusb-0.1(-lusb-1.0):

AC_CHECK_LIB([usb], [usb_get_string_simple], [have_libusb=yes], [], [-lusb-1.0]) 

2.另一個問題是使AC_CHECK找到庫不是在標準系統的/ usr /本地/ lib文件夾作爲修改後的庫接口有點不同 ,它嘗試在使用AC_CHECK_LIB進行搜索時與系統1進行gcc。我使用CPPFLAGS來設置正確的庫路徑

相關問題