Rust 在linux环境下 编译 .so

Rust 在linux环境下 编译 .so 提供给 android 使用

环境 windows
一.windows商店下载 ubuntu 20.04
二.获取root权限 
sodu su
三.更换镜像文件(https://www.jianshu.com/p/e08910410796)
清华镜像地址:https://mirror.tuna.tsinghua.edu.cn/help/ubuntu/
1.备份一下Ubuntu 原来的源地址列表文件。

sudo cp /etc/apt/sources.list /etc/apt/sources.list.cp


2.打开sources.list 

vim /etc/apt/sources.list


3.替换里面镜像文件
4、修改完成后保存文件,并执行下列语句。

# 刷新列表

sudo apt-get update

# 更新已安装的包

sudo apt-get upgrade


四.安装rust环境(https://blog.csdn.net/qq_41879343/article/details/104802548)
1.加入中国科技大学网络镜像代理(仅仅在本次终端生效,切换终端,仍然需要再次执行一次)

export RUSTUP_DIST_SERVER=https://mirrors.ustc.edu.cn/rust-static
export RUSTUP_UPDATE_ROOT=https://mirrors.ustc.edu.cn/rust-static/rustup


2.安装rust

curl https://sh.rustup.rs -sSf | sh
source $HOME/.cargo/env

五.安装编译GCC工具链(一定要更换镜像文件,否则很慢,有些文件 无法下载)

sudo apt-get install build-essential 


六.配置 编译链 

vim ~/.cargo/config
[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://mirrors.ustc.edu.cn/crates.io-index"
#arm64   == arm64-v8a
[target.aarch64-linux-android]
ar = "/mnt/e/bianyi/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android-ar"
linker = "/mnt/e/bianyi/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/aarch64-linux-android21-clang"
#arm == armeabi-v7a
[target.armv7-linux-androideabi]
ar = "/mnt/e/bianyi/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/arm-linux-androideabi-ar"
linker = "/mnt/e/bianyi/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/armv7a-linux-androideabi21-clang"
#x86 == x86
[target.i686-linux-android]
ar = "/mnt/e/bianyi/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android-ar"
linker = "/mnt/e/bianyi/android-ndk-r21d/toolchains/llvm/prebuilt/linux-x86_64/bin/i686-linux-android21-clang"

#以上配置根据需求配置

七.将编译链加入rustup(根据 需求加入)

rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android

八.编译
1,进入到rust 项目目录下(编译不同 cpu )

cargo build --target aarch64-linux-android --release
cargo build --target armv7-linux-androideabi --release
cargo build --target i686-linux-android --release

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值