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

标签 linux windows rust cross-compiling rust-cargo

我有一个基本的 rust/cargo 项目,它有一个主文件和一些基本的依赖项。当未指定目标时, cargo build 命令工作正常(我使用的是 Windows,因此它构建到 Windows),但是当我尝试使用 cargo build --target=x86_64-unknown-linux-gnucargo build --target=x86_64-unknown-linux-musl 将程序交叉编译到 linux 时,该过程失败并出现以下错误: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 构建应该可以工作!

关于linux - 错误 : "linker ' cc' not found"when cross compiling a rust project from windows to linux using cargo,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63739813/

相关文章:

linux - 如何在linux中安装旧版本的dotnet版本

linux - gnuplot 条件代码解释

linux - pthreads:不同线程数的不同行为

rust - 如何替换 Vec 中的选项?

java - 调整 Linux 和 MariaDB 上的 Java 性能

windows - QT 5.1.1 : Checkbox in QWebview shows strange behavior under Win 7 (x64)/Win 8

windows - 批处理文件中的国际字符

Python - 如何将 BMP 转换为 JPEG 或 PDF?这样文件大小就不是 50MB 而是更小了?

floating-point - 如何仅使用稳定的标准库将 f16 解码为 f32?

rust - 在生产中每晚使用 Rust