我有一个基本的rust/cargo项目,只有一个主文件和一些基本的依赖项.如果没有指定目标,cargo build命令可以正常工作(我使用的是windows,所以它会构建到windows),但是当我try 使用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进行构建应该是可行的!

Rust相关问答推荐

把Vector3变成Vector4的绝妙方法

为什么我可以跟踪以前borrow 过的变量?房主在哪里?

有没有办法指定只在Rust的测试中有效的断言?

使用极点数据帧时,找不到枚举结果的方法lazy()

如何在Rust中将选项<;选项<;字符串>;转换为选项<;选项&;str>;?

程序在频道RX上挂起

如何对一个特征的两个实现进行单元测试?

tokio::spawn 有和没有异步块

Rust 并行获取对 ndarray 的每个元素的可变引用

返回迭代器考虑静态生命周期类型

没有明确地说return会产生错误:match arms have incompatible types

由特征键控的不同 struct 的集合

具有在宏扩展中指定的生命周期的枚举变体数据类型

返回迭代器的特征

为什么数组不像向量那样在 for 块之后移动?

判断对象是 PyDatetime 还是 Pydate 的实例?

为实现特征的所有类型实现显示

使用 rust-sqlx/tokio 时如何取消长时间运行的查询

传递 Option<&mut T> 时何时需要 mut

如何重写这个通用参数?