为什么 MSVC 无法安装或被 Rust 识别?

Jad*_*sta 5 rust rust-cargo

我已经反复尝试了,仍然不知道哪里出了问题。\n我从官网安装了Rust(版本1.44.1),可以运行rustc --version并得到正确的结果。我可以创建一个新项目,但是当我运行cargo testcargo build时,出现错误。

\n
   Compiling hello-rust v0.1.0 (C:\\Projects\\rust-test\\hello-rust)\nerror: linking with `link.exe` failed: exit code: 1\n  |\n  = note: "link.exe" "/NOLOGO" "/NXCOMPAT" "/LIBPATH:C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib" "C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps\\\\hello_rust-3bd7255de8fc516c.2475ppgeya7982p6.rcgu.o" "C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps\\\\hello_rust-3bd7255de8fc516c.2k8om5gztlm4khis.rcgu.o" "C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps\\\\hello_rust-3bd7255de8fc516c.2npazqbfnne9a4sz.rcgu.o" "C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps\\\\hello_rust-3bd7255de8fc516c.31mw3i7sxv4jy5mf.rcgu.o" "C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps\\\\hello_rust-3bd7255de8fc516c.39lo872ze2g8kjy6.rcgu.o" "/OUT:C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps\\\\hello_rust-3bd7255de8fc516c.exe" "C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps\\\\hello_rust-3bd7255de8fc516c.3pzk8mfjqu22abeg.rcgu.o" "/OPT:REF,NOICF" "/DEBUG" "/NATVIS:C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\intrinsic.natvis" "/NATVIS:C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\liballoc.natvis" "/NATVIS:C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\libcore.natvis" "/NATVIS:C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\etc\\\\libstd.natvis" "/LIBPATH:C:\\\\Projects\\\\rust-test\\\\hello-rust\\\\target\\\\debug\\\\deps" "/LIBPATH:C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libtest-ce9bcda9bff89d22.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libterm-5685a6e382a0344d.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libgetopts-9672beb79727d086.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libunicode_width-0b6119489f498de7.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\librustc_std_workspace_std-f43d3b6a5d7adb85.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libstd-13b0a7dd239e134e.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libpanic_unwind-c6983deeb3795666.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libhashbrown-fb1f6de11ac9d69b.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\librustc_std_workspace_alloc-09135599e2aa779b.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libbacktrace-4aec9f98c25f9f5d.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\librustc_demangle-29671087b5d92459.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libunwind-7c5d84958fafcb64.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libcfg_if-c820fe24a63d105a.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\liblibc-eab51dcd5481cddb.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\liballoc-da92c312ae6fecdd.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\librustc_std_workspace_core-693c88df9572eb34.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libcore-b5aae910499df009.rlib" "C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\\\\libcompiler_builtins-9a7454af4f639d0b.rlib" "kernel32.lib" "advapi32.lib" "ws2_32.lib" "userenv.lib" "msvcrt.lib"\n  = note: /usr/bin/link: extra operand \xe2\x80\x98/LIBPATH:C:\\\\Users\\\\Jaden\\\\.rustup\\\\toolchains\\\\stable-x86_64-pc-windows-msvc\\\\lib\\\\rustlib\\\\x86_64-pc-windows-msvc\\\\lib\xe2\x80\x99\n          Try '/usr/bin/link --help' for more information.\n\n\nerror: aborting due to previous error\n\nerror: could not compile `hello-rust`.\n\nTo learn more, run the command again with --verbose.\n\n
Run Code Online (Sandbox Code Playgroud)\n

我的研究发现 MSVC 未正确设置或 PATH 变量中缺少某些内容。这个错误是什么意思?我安装了 Visual Studio 2017(只是基础知识,我没有检查任何工作负载或单个组件),据我所知,这就是 MSVC (Microsoft Studio Visual C++)。我对 Rust 和低级编码不太熟悉(我是 Python/JavaScript 人员),所以我不太明白我需要在这里做什么。有人可以在这里给我指导吗?

\n

为什么 MSVC 无法安装或被 Rust 识别?什么可能导致这种情况?我该如何修复它?

\n

Jad*_*sta 6

我碰巧自己找到了答案,但我没有找到任何有关 Rust 的文档。我搜索了有关安装 MSVC 的较长时间并找到了此 Microsoft 页面:https://learn.microsoft.com/en-us/cpp/build/vscpp-step-0-installation ?view=vs-2019

For core C and C++ support, choose the "Desktop development with C++" workload.

我修改了安装并选择了使用 C++ 工作负载的桌面开发。成功了!