Error: "linker 'cc' not found" when cross compiling a rust project from windows to linux using cargo

Error: "linker 'cc' not found" when cross compiling a rust project from windows to linux using cargo

我有一个基本的 rust/cargo 项目,其中包含一个主文件和一些基本的依赖项。 cargo build 命令在未指定目标时工作正常(我使用 windows 所以它构建为 windows),但是当我尝试将程序交叉编译为 linux使用 cargo build --target=x86_64-unknown-linux-gnucargo build --target=x86_64-unknown-linux-musl,该过程失败并出现以下错误:linker 'cc' not found.

有没有人知道如何解决这个问题?我需要安装特定的链接器吗?

谢谢。

我刚刚弄明白了。

事实证明,您需要告诉 cargo 使用 LLVM 链接器。为此,您可以在基本目录中创建一个名为 .cargo 的新目录,然后在此目录中创建一个名为 config.toml 的新文件。您可以在此处添加行:

[target.x86_64-unknown-linux-musl]
rustflags = ["-C", "linker-flavor=ld.lld"]

然后使用命令 cargo build --target=x86_64-unknown-linux-musl 构建应该可以!