2

我正在尝试编译一个用于libusb修改libusbandroid 的工具。修改后按预期libusb编译和安装。/usr/local/lib问题是standalonetoolchain已经包含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
...

如何使它与独立工作toolchainlibusb-0.1用来

4

1 回答 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/local/lib 文件夹中的库,因为修改后的库接口有点不同,它在使用 AC_CHECK_LIB 搜索时尝试使用系统一 gcc。我使用 CPPFLAGS 设置正确的库路径

于 2013-07-26T08:51:30.863 回答