遇到错误详情 解决:使用cross交叉编译,确保已经安装好了openssl的相关依赖,但是依然报和openssl有关的错误,此时需要在 Cargo.toml 添加openssl的依赖 查看:https://github.com/sfackler/rust-openssl?tab=readme-ov-file
1 [dependencies] 2 openssl = { version = "0.10", features = ["vendored"] }
首先我在window平台上和window子系统Ubuntu上编译,使用 cross build --release 都是成功的,但是当我加入 --target=xxx.xxx.xx 参数的时候,就会报错,就没考虑是依赖的问题
关于rust交叉编译,有很多做了详细介绍,我对于原理也不是很懂,但还是记录下自己使用cross进行交叉编译的过程,实现过程还是比较简单的
查询支持的平台参数1 # 查询可用的目标列表,已安装列表后边有(installed) 2 rustup target list 3 4 # 列出所安装的Rust编译器已知的所有目标平台 5 rustc --print target-list 6 7 # 查询已安装的编译器和toolchain 8 rustup show
添加 target
1 # 添加 2 rustup target add x86_64-unknown-linux-musl安装交叉编译工具
1 cargo install crosscargo/config.toml文件配置
1 [target.x86_64-unknown-linux-musl] 2 linker = "rust-lld" 3 rustflags = ["-C", "linker-flavor=ld.lld"] 4 5 [target.x86_64-pc-windows-msvc] 6 # 没有这个配置,编译出来的包不能在例外一台电脑上运行(待验证) 7 rustflags = ["-C", "target-feature=+crt-static"]编译打包
1 cross build --release --target=x86_64-unknown-linux-musl
相关知识点
编译过程
交叉编译
静态链接和动态链接
标签:target,交叉,--,cross,openssl,编译,报错 From: https://www.cnblogs.com/lookthattree/p/18514310