2.3 KiB
2.3 KiB
title, date, lastmod, keywords, tags, categories
title | date | lastmod | keywords | tags | categories | |
---|---|---|---|---|---|---|
Rust 笔记 | 2021-08-29T15:02:13+08:00 | 2021-08-29T15:02:13+08:00 |
|
安装 rust
-
安装 rustup,参考官网
export RUST_UPDATE_ROOT=https://mirrors.tuna.tsinghua.edu.cn/rustup export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # 按照提示,一直 default 即可
-
配置 rustup、toolchain 和 target 更新源
cat >> /etc/profile.d/rustup.sh <<-EOF export RUSTUP_DIST_SERVER=https://mirrors.tuna.tsinghua.edu.cn/rustup EOF
-
配置 crate 源
cat >> ~/.cargo/config <<-EOF [source.crates-io] replace-with = 'tuna' [source.tuna] registry = "https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git" EOF
交叉编译
树梅派 Alpine armv7/armhf
-
下载交叉编译工具
curl -LO https://musl.cc/armv7l-linux-musleabihf-cross.tgz tar zxf armv7l-linux-musleabihf-cross.tgz -C /opt/ export PATH=/opt/armv7l-linux-musleabihf-cross/bin/:$PATH
-
配置 target
rustup target add armv7-unknown-linux-musleabihf cat >> ~/.cargo/config <<-EOF [target.armv7-unknown-linux-musleabihf] linker = "armv7l-linux-musleabihf-ld" EOF
-
编译
# 操作系统如果是 armv7,则需指定该 cflag 来禁用 fpu export CFLAGS='-mfpu=neon' export CC=armv7l-linux-musleabihf-gcc cargo build --target armv7-unknown-linux-musleabihf --release armv7l-linux-musleabihf-strip target/armv7-unknown-linux-musleabihf/release/{目标二进制文件}
树梅派 Alpine aarch64
-
下载交叉编译工具
curl -LO https://musl.cc/aarch64-linux-musl-cross.tgz tar zxf aarch64-linux-musl-cross.tgz -C /opt/ export PATH=/opt/aarch64-linux-musl-cross/bin/:$PATH
-
配置 target
rustup target add aarch64-unknown-linux-musl cat >> ~/.cargo/config <<-EOF [target.aarch64-unknown-linux-musl] linker = "aarch64-linux-musl-ld" EOF
-
编译
export CC=aarch64-linux-musl-gcc cargo build --target aarch64-unknown-linux-musl --release aarch64-linux-musl-strip target/aarch64-unknown-linux-musl/release/{目标二进制文件}