在 Mac OSX 上交叉编译 x86_64-unknown-linux-gnu 失败

2024-05-22

我尝试将我的 Rust 项目之一编译到 x86_64-unknown-linux-gnu 目标:

$ cargo build --target=x86_64-unknown-linux-gnu
 Compiling deployer v0.1.0 (file:///Users/raphael/web/deployer)
  error: linking with `cc` failed: exit code: 1
  |
  = note: "cc"
  = note: clang: warning: argument unused during compilation: '-pie'
ld: unknown option: --as-needed
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我不知道该如何处理这样的消息。我应该怎么做才能让它发挥作用?

这是我的Cargo.toml file:

[package]
name = "deployer"
version = "0.1.0"
authors = ["..."]

[dependencies]
clap = "2.14.0"
time = "0.1.35"
slack-hook = "0.2"

货运版本:

cargo 0.13.0-nightly (109cb7c 2016-08-19)

铁锈版本:

rustc 1.12.0 (3191fbae9 2016-09-23)

我尝试用 rustup 更新所有内容,但仍然遇到同样的问题。


灵感来自从 mac 到 linux 交叉编译 rust https://github.com/chinedufn/cross-compile-rust-from-mac-to-linux,我通常安装这些依赖项来将 rust 从 Mac OS 交叉编译到 Linux(例如,对于 Docker 容器):

rustup target add x86_64-unknown-linux-gnu

# Install a pre-built cross compiler
brew tap SergioBenitez/osxct
brew install x86_64-unknown-linux-gnu

最后,我可以使用以下命令交叉编译到 Mac OS 上的 Linux:

CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER=x86_64-unknown-linux-gnu-gcc \
cargo build --target=x86_64-unknown-linux-gnu
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Mac OSX 上交叉编译 x86_64-unknown-linux-gnu 失败 的相关文章

随机推荐