构建交叉编译libnfc到Aarch64 Android时出错

问题描述 投票:0回答:1

我正在尝试通过 Ndk 将 Ubuntu 20.04 上的 libnfc 交叉编译到 Aarch64 Android 13 架构。 当我执行 make 命令时,出现错误: ld.lld:错误:--fix-cortex-a53-843419 仅在 AArch64 目标上受支持 clang:错误:链接器命令失败,退出代码为 1(使用 -v 查看调用)

我需要能够通过 Android 上的芯片读取非接触式卡。 有没有人这样做过,请给我解决方案。

android cross-compiling arm64 contactless-smartcard lib-nfc
1个回答
0
投票

我不清楚你的需求,为什么你需要使用 libnfc 而不是 android 的内置 NFC API。 但仍然回答你的问题:要在 Android 上读取非接触式卡,你有两种选择:

  1. 使用Android内置的NFC API代替libnfc,支持更好并且不需要交叉编译。
  2. 如果您特别需要 libnfc 功能,请确保正确配置构建系统以使用 Android 的 NDK 工具链和正确的目标架构标志,但仍然使用自定义库(如 android 中的 libnfc 来实现 nfc)很困难,因为它不容易绕过默认构建在 NFC 库中。
export TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64
export TARGET=aarch64-linux-android
export API=21

export AR=$TOOLCHAIN/bin/llvm-ar
export CC=$TOOLCHAIN/bin/clang
export CXX=$TOOLCHAIN/bin/clang++
export LD=$TOOLCHAIN/bin/ld
  1. 配置构建时,指定正确的目标架构:
./configure --host=$TARGET --target=$TARGET
© www.soinside.com 2019 - 2024. All rights reserved.