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

x86-64交叉编译带cxx的Rust项目到armv7缺库报错如何解决

交叉编译Rust armv7架构(树莓派3B+)缺失依赖修复方案

需要补充拷贝的文件

  • 从运行正常的Raspbian系统中,完整拷贝/lib/arm-linux-gnueabihf目录到本机的/usr/arm-none-linux-gnueabihf/lib路径,拷贝时保留所有软链接结构,不要将软链接替换为实体文件
  • 拷贝Raspbian系统中/usr/include/arm-linux-gnueabihf目录到本机的/usr/arm-none-linux-gnueabihf/include路径,覆盖冲突文件
  • 将你当前存放在/usr/arm-linux-gnueabihf/路径下的libc_nonshared.a移动到/usr/arm-none-linux-gnueabihf/lib目录下

编译前必要配置

  1. 在Rust项目根目录创建.cargo/config.toml文件,写入以下配置:
[target.armv7-unknown-linux-gnueabihf]
linker = "arm-none-linux-gnueabihf-gcc"
rustflags = [
  "-C", "link-arg=--sysroot=/usr/arm-none-linux-gnueabihf",
  "-C", "link-arg=-L/usr/arm-none-linux-gnueabihf/lib/arm-linux-gnueabihf",
]
  1. 执行编译命令前先导出环境变量:
export CXXFLAGS="--sysroot=/usr/arm-none-linux-gnueabihf -I/usr/arm-none-linux-gnueabihf/include"
export CC="arm-none-linux-gnueabihf-gcc"
export CXX="arm-none-linux-gnueabihf-g++"

执行编译

运行以下命令即可完成编译:

cargo build --target armv7-unknown-linux-gnueabihf

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 08:06:01