rust windows 交叉编译_交叉编译问题,求指教

< 返回版块

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" "/Users/tangjian/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/crt1.o" "/Users/tangjian/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib/crti.o" "-L" "/Users/tangjian/.rustup/toolchains/stable-x86_64-apple-darwin/lib/rustlib/x86_64-unknown-linux-musl/lib" "/Users/tangjian/git/MyRust/net_test/target/x86_64-unknown-linux-musl/release/deps/net_test-8d10b2b9f09fee1c.net_test.b1aycne3-cgu.0.rcgu.o" "/Users/tangjian/git/MyRust/net_test/target/x86_64-unknown-linux-musl/release/deps/net_test-8d10b2b9f09fee1c.net_test.b1aycne3-cgu.1.rcgu.o" "/Users/tangjian/git/MyRust/net_test/target/x86_64-unknown-linux-musl/release/deps/net_test-8d10b2b9f09fee1c.net_test.b1aycne3-cgu.10.rcgu.o"

其实还有很多,只截取了一段错误信息,因为很多感觉重复的。

请问哪儿出问题了,怎么修复呢?

谢谢

评论区

写评论

qianjunjushi

2020-04-20 08:32

厚颜 向楼主求一份具体的交叉编译配置步骤教程

tokyohuang123

2020-04-13 21:10

哈哈 用mac的还没想到这个问题 谢谢楼主

作者

reison1218

2020-04-10 17:33

已经找到问题并解决了,在此分享一下工具链网址,方便以后有小伙伴交叉编译也许用得上

https://musl.cc

1

共 3 条评论, 1 页

你可能感兴趣的:(rust,windows,交叉编译)