Mac*_*ion 10 compiler-errors rust rust-cargo
我正在使用 MacOS Big Sur,并且我正在尝试交叉编译到 Windows,但问题是,这个“错误:x86_64-w64-mingw32-gcc未找到链接器”阻止我这样做,这是我的货物依赖项:
[dependencies]
rand = "0.8.4"
macroquad = "0.3.13"
perlin_rust = "0.1.0"
libm = "0.2.2"
Run Code Online (Sandbox Code Playgroud)
我尝试过 Cargo Clean/Update,并且尝试过 mvsc 而不是 gnu
太长了;
除了使用 rustup 安装交叉目标之外,您还需要安装一个实际的交叉链接器并使用 Cargo 配置文件或环境变量告诉 Cargo
您似乎正在尝试交叉编译您的包。您可以在这里阅读有关交叉编译的更多信息;简而言之,编译器是一个程序,它获取文本源代码并生成操作系统和 CPU 可以理解的内容。
当您为正在开发的平台构建软件时,一切都很好。您拥有所有工具,但是当您想要针对另一个平台或操作系统时,您需要一个编译器,该编译器是为在您的计算机上工作而生成的,但输出应该在目标平台/操作系统上工作的二进制文件。
因此,在您的情况下,您需要安装适用于 mingw 目标的 mac 的交叉工具链,因为 rust 本身没有交叉链接器。一旦你获得了交叉工具链,你所需要做的就是告诉 Cargo 如何找到它。
这是一个旨在减少交叉编译痛苦的项目。
我也强烈建议你阅读货运书籍
在这里你可以看到告诉 Cargo 关于交叉链接器的方法之一,另一种方法是使用环境变量(我更喜欢它并且更容易与 makefile 一起使用),下面你可以看到我的一个 makefile 中的一个示例
货物书
再次提到它
总体而言,交叉编译很痛苦,我花了相当长的时间来理解它的机制,但这是值得的,而不是复制粘贴我在博客上找到的命令。我还觉得它缺乏严格的文档。Cargo 书没有告诉你任何关于寻找链接器的事情,假设你已经知道这一点,并且图片交叉编译就像在使用 rustup 安装目标工具链后开箱即用的东西。
| 归档时间: |
|
| 查看次数: |
10197 次 |
| 最近记录: |