gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 01:51:20 25 4
gpt4 key购买 nike

我正在尝试编译一个使用 libusb 并为 android 修改过的 libusb 的工具。修改后的 libusb 已按预期编译并安装到 /usr/local/lib。问题是独立的 toolchain 已经包含 libusb 并且它会影响链接/编译。

./configure

返回:

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

所以 libusb 如果没问题的话。

但是使用独立的工具链:

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
...

如何让它与独立的工具链一起工作?使用了libusb-0.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 来设置正确的库路径

关于android - 如何从 Android 独立工具链中删除 libusb?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17848992/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com