Rust 标志 "link-self-contained" 与 cargo-cross 相比如何?

How does the Rust flag "link-self-contained" compare to cargo-cross?

link-self-contained 如何与描述为

cross 一起工作

“Zero setup” cross compilation and “cross testing” of Rust crates

相对于 rustc 的 link-self-contained 选项?

这些工具都有不同的目标,因此您不会选择它们。

link-self-contained 正在选择构建一个自包含的可执行文件,它将拥有在任何具有正确体系结构的系统上 运行 所需的一切。这包括可执行文件使用的任何库。替代方案(默认)是让可执行文件在 运行 时查找安装在系统上的库。查看动态库与静态库以获取更多信息。

cross 是一种工具,可以更轻松地针对不同的体系结构进行交叉编译和测试。很多时候 运行time 环境的资源很少,不适合在开发过程中使用。使用交叉编译,以便可以在具有更多资源的机器上进行开发。手动设置交叉编译器通常需要一些时间,因此此工具旨在简化该过程。

就它们如何协同工作而言,理想情况下它们在同时使用时会以相同的方式执行。如果你为 arm 架构交叉编译并设置 link-self-contained 标志,那么你最终会得到一个自包含的二进制文件,它可以移动到任何使用正确 arm 架构的系统,并拥有它需要的一切 运行.