如何从Android独立工具链中删除libusb?

时间:2013-07-25 04:26:34

标签: android libusb toolchain

我正在尝试编译一个使用libusb和修改后的libusb for android的工具。 已修改libusb已按预期编译并安装到/usr/local/lib。 问题是独立toolchain已经包含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 个答案:

答案 0 :(得分:1)

好吧,最后我能够解决它。

  1. 工具configure.ac文件没有写入使用libusb-compat(但仅限于libusb-0.1)。
  2. 所以我通过在搜索libusb-0.1(-lusb-1.0)时添加依赖来解决它:

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

    2。另一个问题是让AC_CHECK找不到标准系统/ usr / local / lib文件夹中的libs,因为修改后的库接口有点不同 并且它在使用AC_CHECK_LIB搜索时尝试使用系统1进行gcc。我使用CPPFLAGS来设置正确的libs路径