rust

2021-02-09, updated 2021-09-12

Rust 语言是一种高效、可靠的通用高级语言。其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言。

安装

官方安装方法说明:https://rustup.rs/

类unix平台安装命令

1
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

windows平台需要下载rustup-init.exe

交叉编译

安装交叉编译环境

使用rustup target list可以查看所有支持的平台,选择需要的平台

添加armv7-unknown-linux-gnueabi工具链到系统

1
rustup target add armv7-unknown-linux-gnueabi

配置rust环境

修改~/.cargo/config文件

1
2
[target.armv7-unknown-linux-gnueabi]
linker="/.../arm-oe-linux-gnueabi-gcc"

linker是指定交叉编译器的位置,可以指定编译器的路径,也可以使用系统的编译器

编译时添加参数--target armv7-unknown-linux-gnueabi,如果不想添加可以在~/.cargo/config增加下面的配置

1
2
[build]
target = "armv7-unknown-linux-gnueabi"

cargo

配置

别名: 可以使用cargo b代替cargo build

1
2
3
[alias]
build_aarch64 = "build --target armv7-unknown-linux-gnueabi"
b = "build"

问题

Updating crates.io index 太慢

Rust crates.io 索引镜像使用帮助 编辑~/.cargo/config文件,添加以下内容:

1
2
3
4
5
[source.crates-io]
replace-with = 'tuna'

[source.tuna]
registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git"

解决 waiting for file lock on package cache lock

删除文件 ~/.cargo/.package-cache

words: 486 tags: rust