错误:使用货物从Windows到Linux交叉编译rust项目时出现“找不到链接器'cc'”

时间:2020-09-04 10:56:28

标签: linux windows rust cross-compiling rust-cargo

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

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

谢谢。

1 个答案:

答案 0 :(得分:1)

我已经弄清楚了。

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

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

然后使用命令cargo build --target=x86_64-unknown-linux-musl进行构建即可!

相关问题