Rust交叉编译简述 —— Arm

使用系统:WSL2 ------ Kali(Microsoft Store)

命令列表

bash 复制代码
rustup target list # 当前官方支持的构建目标架构列表
rustup target add aarch64-unknown-linux-gnu # 添加目标架构

sudo apt-get install gcc-13-aarch64-linux-gnu gcc-13-aarch64-linux-gnu # 下载目标工具链,可以把13删了
sudo dpkg --add-architecture arm64 # 解决后面使用qemu-aarch64的lib问题
sudo apt update
sudo apt install libc6:arm64

cargo new TestArm 
mkdir .cargo && cd .cargo && touch config.toml # 修改配置文件
vim config.toml

写入:

复制代码
[build]  
target = "aarch64-unknown-linux-gnu"

[target.aarch64-unknown-linux-gnu]  
linker = "aarch64-linux-gnu-gcc"

使用qemu进行测试:

bash 复制代码
┌──(songs㉿LAPTOP-UKGHM5UJ)-[~/code/rust/Test]
└─$ qemu-aarch64 target/aarch64-unknown-linux-gnu/debug/Test
Hello, world!
相关推荐
浅念-4 分钟前
C++ 模板初阶:从泛型编程到函数模板与类模板
c语言·开发语言·数据结构·c++·笔记·学习
DevilSeagull13 分钟前
C语言: C语言内存函数详解
c语言·开发语言·算法
软泡芙15 分钟前
【猿知识】编码全解析:从字符编码到数值表示
开发语言
u***357443 分钟前
对基因列表中批量的基因进行GO和KEGG注释
开发语言·数据库·golang
像风一样的男人@44 分钟前
python --打包pyd或so文件
开发语言·python
Geoking.1 小时前
什么是乐观锁?原理、实现方式与实战详解
java·开发语言
愚者游世1 小时前
long long各版本异同
开发语言·c++·程序人生·职场和发展
低代码布道师2 小时前
Next.js 16 全栈实战(三):数据库建模与动态菜单实现
开发语言·javascript·数据库
MediaTea2 小时前
Python:生成器对象的扩展接口
开发语言·网络·python
前路不黑暗@2 小时前
Java项目:Java脚手架项目的模板服务和网关服务的实现(三)
java·开发语言·spring boot·git·学习·spring cloud·maven