我有一个基本的 rust/cargo 项目,它有一个主文件和一些基本的依赖项。当未指定目标时, cargo build
命令工作正常(我使用的是 Windows,因此它构建到 Windows),但是当我尝试使用 cargo build --target=x86_64-unknown-linux-gnu
或 cargo 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/