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!
相关推荐
懂点Tech6 小时前
ctfshow MISC入门图片篇(信息附加):misc41解题思路
开发语言·python
运维开发笔记7 小时前
5.Rust 向量(Vec)入门指南
rust
catchadmin7 小时前
PHP 8.7 协程新提案 让跨协程代码共享请求身份
开发语言·php
黑马水牛8 小时前
RK3588系列:01-系统烧录与开发环境搭建
arm开发·嵌入式硬件
念何架构之路8 小时前
go-grpc设计思想
开发语言·后端·golang
酷炫码神9 小时前
Day 10|Pinia 状态管理:把散落在各组件的数据,收进一个全局仓库
android·开发语言·javascript
Elastic 中国社区官方博客9 小时前
我们如何通过 70 多个拉取请求,将 OpenTelemetry Java agent 迁移到 invokedynamic
java·大数据·开发语言·elasticsearch·搜索引擎·全文检索·es
tyn1889 小时前
记录本地安装nacos服务的方法及异常
java·开发语言
步行cgn10 小时前
Spring MVC 视图机制的核心接口与类
java·开发语言·后端·spring·mvc
传奇开心果编程11 小时前
【Rust入门练中学】第5课:引用与借用
开发语言·rust·引用·编程语言理论·通用编程语言·借用