一、安装Rust
1. 官方安装
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
安装时可能存在流量不稳定导致安装失败,可以更换源,使用国内的crates.io镜像。
2. 更换Rust镜像源进行安装
(1) 更换Rustup镜像源
修改~/.bashrc, 追加如下内容
export RUSTUP_DIST_SERVER="https://rsproxy.cn" export RUSTUP_UPDATE_ROOT="https://rsproxy.cn/rustup"
(2) 更换crates.io镜像源
在~/.cargo/目录下新建 config.toml (cargo 1.38及以前的版本使用文件名config),
[source.crates-io] registry = "https://github.com/rust-lang/crates.io-index" replace-with = "ustc" #或rustcc、sjtu、tuna
#根据replace-with配置的镜像源,以下只需配置一个对应的源即可
# 中国科大 [source.ustc] registry = "git://mirrors.ustc.edu.cn/crates.io-index"
# rustcc社区
[source.rustcc]
registry = "https://code.aliyun.com/rustcc/crates.io-index.git"
# 上海交通大学
[source.sjtu]
registry = "https://mirrors.sjtug.sjtu.edu.cn/git/crates.io-index"
# 清华大学
[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"
(3)重新执行安装脚本
$ curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
二、交叉编译ARM目标
1. 将ARM添加为Rust目标平台
$ rustup target list #可以查看所有可添加的目标平台
$ rustup target add arm-unknown-linux-gnueabihf #本例添加 arm-unknown-linux-gnueabihf
2. 在 ~/.cargo/config.toml 中指定ARM目标的链接器
[build] target = "arm-unknown-linux-gnueabihf" [target.arm-unknown-linux-gnueabihf] linker = "arm-none-linux-gnueabihf-gcc"
三、HelloWorld示例
1. 使用cargo创建项目
$ cargo new rust_helloworld --bin
cargo将创建项目目录rust_helloworld, 其下包含Cargo.toml和src/main.rs
2. 交叉编译ARM目标文件
$ cargo build --release #因在config.toml中配置了target为arm-unknonw-linux-guneabihf,所以默认生成arm目标 #或者 $ cargo build --release --target=arm-unknown-linux-gnueabihf
cargo 将生成目标目录target,bin文件存放在 target/arm-unknown-linux-gnueabihf/release/
3. 编译本地架构的目标文件
$ cargo build --release --target=x86_64-unknown-linux-gnu #本例PC为x64架构
标签:cargo,target,--,编译,https,linux,arm,Rust,搭建 From: https://www.cnblogs.com/rtthread/p/18257260