我已经学习了几天的Rust语言,我正在从Rust的书中编写猜谜游戏,当我添加Rand crate 时,代码爆炸了,Cargo不能用于构建项目. 我收到的错误消息如下:

   Compiling guessing_game v0.1.0 (C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game)
error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
  |
  = note: "x86_64-w64-mingw32-gcc" "-fno-use-linker-plugin" "-Wl,--dynamicbase" "-Wl,--disable-auto-image-base" "-m64" "-Wl,--high-entropy-va" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "C:\\Users\\criso\\AppData\\Local\\Temp\\rustcUsFK5k\\symbols.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.18kzraemhbsni77x.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.18x2n66sdlvroo2s.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.2jumpmbqyxthbbwv.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.2rimi6o97ep9m0vo.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.2xvdgv2ldd1rvjjk.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.2y2cd32yi0fzh6kt.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.3m0id8ozabv7ecin.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.3mxxjxc4bbjhjug.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.4fsmc04oz23s0w17.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.4gd9dm1ketcsa1az.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.4j75at8upe4h1dxx.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.4zf7un4kxypy7b6g.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.539xviday9wh32qu.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.592xg6iq0netggcp.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.5ggtdqlyp3a13qv1.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.d5l62waq46jed7m.rcgu.o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.4obr3dsz9dbkamgi.rcgu.o" "-L" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps" "-L" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-Wl,-Bstatic" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\librand-7fbc8a5de9188078.rlib" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\librand_chacha-074241c5024a9c57.rlib" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\libppv_lite86-02511fdafde70359.rlib" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\librand_core-30181b09e6c6a646.rlib" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\libgetrandom-25ce142b63d47c1b.rlib" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\libcfg_if-e83ed72efe2719ee.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd-c39a33301a990d4c.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libpanic_unwind-cca52022a9e303e0.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libobject-87ab4ba6115beae7.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libmemchr-5cb7fa9a12663885.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libaddr2line-63721decd0530f88.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libgimli-f46ca0e8336ae9ce.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_demangle-eb7f3864ed6b2a68.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd_detect-7a1913f37e63e841.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libhashbrown-bc9416be95f71206.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-583427bdf1f371c2.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libminiz_oxide-cda0273dfc900176.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libadler-9e3a606a7eac348e.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libunwind-17b9231d7a9331b7.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcfg_if-dcab4b455bc920a1.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liblibc-9852f6e85c86dae7.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liballoc-2b83ab5495098fa8.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_core-baa2c1aeb27e5083.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcore-b5f8c582e1776c2a.rlib" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcompiler_builtins-d13d1e3b0b541614.rlib" "-Wl,-Bdynamic" "-lbcrypt" "-ladvapi32" "-lkernel32" "-ladvapi32" "-lbcrypt" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-lkernel32" "-lws2_32" "-lkernel32" "-lntdll" "-lkernel32" "-lgcc_eh" "-l:libpthread.a" "-lmsvcrt" "-lmingwex" "-lmingw32" "-lgcc" "-lmsvcrt" "-luser32" "-lkernel32" "-Wl,--nxcompat" "-L" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-o" "C:\\Users\\criso\\Documents\\Proyectos de Programación\\Rust\\testPrograms\\guessing_game\\target\\debug\\deps\\guessing_game-fc4c7738ed2037e7.exe" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "C:\\Users\\criso\\.rustup\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
  = note: C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.18kzraemhbsni77x.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.18x2n66sdlvroo2s.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.2jumpmbqyxthbbwv.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.2rimi6o97ep9m0vo.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.2xvdgv2ldd1rvjjk.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.2y2cd32yi0fzh6kt.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.3m0id8ozabv7ecin.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.3mxxjxc4bbjhjug.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.4fsmc04oz23s0w17.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.4gd9dm1ketcsa1az.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.4j75at8upe4h1dxx.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.4zf7un4kxypy7b6g.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.539xviday9wh32qu.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.592xg6iq0netggcp.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.5ggtdqlyp3a13qv1.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.d5l62waq46jed7m.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\guessing_game-fc4c7738ed2037e7.4obr3dsz9dbkamgi.rcgu.o: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\librand-7fbc8a5de9188078.rlib: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\librand_chacha-074241c5024a9c57.rlib: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\libppv_lite86-02511fdafde70359.rlib: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\librand_core-30181b09e6c6a646.rlib: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\libgetrandom-25ce142b63d47c1b.rlib: No such file or directory
          C:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find C:\Users\criso\Documents\Proyectos de Programación\Rust\testPrograms\guessing_game\target\debug\deps\libcfg_if-e83ed72efe2719ee.rlib: No such file or directory
          collect2.exe: error: ld returned 1 exit status

我和一个人谈过,他告诉我问题出在MinGw链接器上,解决方案是安装C++的VS构建工具.但我真的很想使用开放源代码,所以我渴望找到另一个解决方案.

推荐答案

问题是您在这里运行的是Microsoft Windows,支持的解决方案是设置Microsoft工具链.另一种方法是在标准Linux工具链开箱即用的Windows Ubuntu子系统内运行,这样你就只需要依赖开源软件了.

Rust相关问答推荐

在一个tauri协议处理程序中调用一个rectuc函数的推荐技术是什么?

使用 struct 外部的属性来改变 struct 的原始方式

当一个箱子有自己的依赖关系时,两个人如何克服S每箱1库+n箱的限制?

Rust类似功能是C++命名空间吗?

使用铁 rust S还原对多个数组执行顺序kronecker积

无法将 rust 蚀向量附加到另一个向量

装箱特性如何影响传递给它的参数的生命周期 ?(举一个非常具体的例子)

为什么实现特征的对象期望比具体对象有更长的生命周期?

Rust 重写函数参数

从字节数组转换为字节元组和字节数组时,为什么 Transmute 会对字节重新排序?

Rust 1.70 中未找到 Trait 实现

使用在功能标志后面导入的类型,即使未启用功能标志

rust tokio::spawn 在 mutexguard 之后等待

产生拥有值的迭代器的 Rust 可变borrow 在循环中失败

在 Rust 中,将可变引用传递给函数的机制是什么?

If let expression within .iter().any

改变不实现克隆的 dioxus UseState struct

为什么 no_std crate 可以依赖于使用 std 的 crate?

为什么 match 语句对引用类型比函数参数更挑剔?

BigUint 二进制补码