我有一个基本的rust / cargo项目,其中包含一个主文件和一些基本的依赖项。当未指定目标时(我正在使用Windows,因此它可以构建到Windows),但是当我尝试使用cargo build
或cargo build --target=x86_64-unknown-linux-gnu
将程序交叉编译为linux时,cargo build --target=x86_64-unknown-linux-musl
命令可以正常工作,则该过程失败,并显示以下错误:linker 'cc' not found
。
有人知道如何解决这个问题吗?我需要安装特定的链接器吗?
谢谢。
答案 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
进行构建即可!