gpt4 book ai didi

macos - 如何从 Mac 交叉编译到 Linux?

转载 作者:行者123 更新时间:2023-11-29 07:47:52 27 4
gpt4 key购买 nike

我使用 Rust 编写了一个小游戏,并使用 cargo build --release 在 Mac 上编译了一个发布版本。

我试图与使用 Ubuntu 的 friend 分享这个,但是当他尝试运行二进制文件时,他遇到了以下错误:

cannot execute binary file: Exec format error

我搜索了这个但没有找到答案。 Rust 不是声称“没有运行时”吗?它不应该能够以二进制形式在任何地方运行吗?

最佳答案

Rust 没有运行时意味着它没有很多代码作为语言的一部分运行(例如垃圾收集器或字节码解释器)。它仍然需要使用操作系统原语(即系统调用),这些在 MacOS 和 Linux 上是不同的。

你想要的是一个交叉编译器。如果您使用的是 rustup,则 installing a cross compiler应该很简单:

# Install the toolchain to build Linux x86_64 binaries
rustup target add x86_64-unknown-linux-gnu

那么构建就是:

cargo build --release --target=x86_64-unknown-linux-gnu

警告:我没有 OS X 机器来测试它;如果有效,请发表评论或编辑以解决此问题!

关于macos - 如何从 Mac 交叉编译到 Linux?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41761485/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com