< 返回版块
reison1218
发表于 2020-04-10 17:00
Tags:交叉编译
最近项目写得差不多了,之前用交叉编译工具cross,还挺好用的,但最近发现一个问题,cross无法识别本地lib,path是错的,导致报错:找不到/tools/cargo.toml. 其实正确的路径是在用户目录下,怎么交叉编译的时候变成在/下面了.
再尝试解决后无果,干脆不用cross了,自己去下载相关工具链进行交叉编译,步骤如下:
1:下载linux交叉编译工具链:x86_64-linux-musl-cross
2:配好环境变量,执行x86_64-linux-musl-gcc -v命令可以打印出版本号
3:执行rustup命令添加linux-musl的target
4:配置项目的cargo.toml,在里面加入交叉编译目标,如下:
[target.x86_64-unknown-linux-musl]
linker = "x86_64-linux-musl-gcc"
5:执行cargo build --release --target x86_64-unknown-linux-musl
然后就报错了,错误信息:
error: linking with cc failed: exit code: 1
note: "cc" "-Wl,--as-needed" "-Wl,-z,noexecstack" "-Wl,--eh-frame-hdr" "-m64" "-nostdlib&