You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

编译Rust程序生成aarch64-linux-android平台.so文件遇编译器缺失报错

问题原因与解决方法

问题出在Rust的cargo默认会寻找不带API版本后缀的aarch64-linux-android-clang,但新版Android NDK里的clang工具都是带API级别后缀的(比如aarch64-linux-android29-clang),导致cargo无法定位到编译器。

解决方法

方法一:通过cargo配置文件指定编译器

在项目根目录下创建或编辑.cargo/config.toml文件,添加以下配置(替换为你本地的NDK路径和对应API版本):

[target.aarch64-linux-android]
cc = "/path/to/your/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
  • 注意:linux-x86_64需根据你的主机系统调整,Mac主机可能是darwin-x86_64或darwin-arm64,Windows则是windows-x86_64;29替换为你NDK中实际存在的API版本号。

方法二:临时设置环境变量

在终端中先设置指定目标的编译器环境变量,再执行编译命令:

export CC_aarch64-linux-android="/path/to/your/ndk/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android29-clang"
cargo build --release --target=aarch64-linux-android

前置检查

确保你已安装对应Rust目标:

rustup target add aarch64-linux-android

内容的提问来源于stack exchange,提问作者DarthCucumber

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 05:55:56