win10系统使用vscode作为编辑和运行工具配置rust环境(省心配置方法)
得到一些启发,文章里提到“rustup和cargo卸了,重装,”,所以也打算这样做,但是却不知道怎么卸载rust,所以做法是先把之前的环境文件夹D:\Program Files\mingw64删除,同时又把指向这两个文件夹的环境变量删除。报下面的错误:(当然不是说那篇文章有错误,而是在我的电脑上这样配置没有正确编译代码,可能是我之前配置不成功【大概1两年前没配置成功,后来放弃了很长一段时间】,有某
先是按Windows安装Rust环境(详细教程)-CSDN博客这篇文章的方法配置,然后用vscode粘贴下面的代码进去运行
fn main() {
println!("Hello, world!");
}
报下面的错误:(当然不是说那篇文章有错误,而是在我的电脑上这样配置没有正确编译代码,可能是我之前配置不成功【大概1两年前没配置成功,后来放弃了很长一段时间】,有某些遗留问题没有解决导致的)。
rustc : 无法将“rustc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名
称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 42
+ cd "f:\softwaredesign\rust\" ; if ($?) { rustc test_main.rs } ; if ($ ...
+ ~~~~~
+ CategoryInfo : ObjectNotFound: (rustc:String) [], CommandNotFoundEx
ception
+ FullyQualifiedErrorId : CommandNotFoundException

后来按上面的报错去搜,东搞搞西搞搞,最后报下面的错误:
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" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsbegin.o" "C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\rustcWZWZBJ\\symbols.o" "test_main.test_main.c2e72079789fbad4-cgu.0.rcgu.o" "test_main.vr64d2i6zmfdr1p.rcgu.o" "-L" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-Wl,-Bstatic" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd-1683fd82638343be.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libpanic_unwind-eb9f57b02a4c4ab2.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libobject-bc57e4cee7293166.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libmemchr-059e52a8c613d3af.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libaddr2line-efcbcb9a0789423d.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libgimli-80f85573e9bb766d.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_demangle-889f7a6efec9f4dc.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libstd_detect-09b18846a746f0af.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libhashbrown-31cd209190d703ef.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_alloc-e8404b0b8f6f4382.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libminiz_oxide-bc59235147d22ea0.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libadler-9cb2321a4772fcd2.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libunwind-2c6aa0136462e05b.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcfg_if-99fd3d0973d7ee73.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liblibc-9a98c6acdf8fd843.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\liballoc-1515046c1e15d59c.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\librustc_std_workspace_core-bbd5c76512e13fe4.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcore-42718813a9191d38.rlib" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\libcompiler_builtins-e75b7451417035c0.rlib" "-Wl,-Bdynamic" "-lkernel32" "-ladvapi32" "-lkernel32" "-lntdll" "-luserenv" "-lws2_32" "-lkernel32" "-lws2_32" "-lkernel32" "-lgcc_eh" "-l:l2" "-Wl,--nxcompat" "-L" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib" "-o" "test_main.exe" "-Wl,--gc-sections" "-no-pie" "-nodefaultlibs" "D:\\rust\\rustup_home\\toolchains\\stable-x86_64-pc-windows-gnu\\lib\\rustlib\\x86_64-pc-windows-gnu\\lib\\rsend.o"
= note: d:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/11.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lgcc_eh
collect2.exe: error: ld returned 1 exit status
error: aborting due to 1 previous error
然后用第一行的文本去搜,搜到一篇文章指向这里Visual Studio Code 中的 C++ 和 MinGW-w64 入门说这样配置就可以了,然后按文章说的下载MSYS2按装程序下来安装上。

按照上面的方法安装上后测试是否成功:
gcc --version
g++ --version
gdb --version
结果显示安装成功

运行vscode里的代码,还是报错:
error: linking with `x86_64-w64-mingw32-gcc` failed: exit code: 1
得到一些启发,文章里提到“rustup和cargo卸了,重装,”,所以也打算这样做,但是却不知道怎么卸载rust,所以做法是先把之前的环境文件夹D:\Program Files\mingw64删除,同时又把指向这两个文件夹的环境变量删除。
![]()
到此看到D:\msys64这个上面安装的文件夹忽然灵光一闪,莫不是只用这个就可以了?也不用再下载
来配置。所以就再直接运行vscode里的代码,成功运行。

所以总结一下就是:
1,安装vscode。
2,在vscode里面安装c++扩展。
3,下载MSYS2按装程序安装上,并按上面的截图做好。
4,安装rust,win系统最好选x86_64-pc-windows-msvc,安装好后设置变量

由于默认就是msvc版本,所以不用选择,直接回车就行
按开头提到的文章里介绍的那样安装rust就行,如下:
4.1可以通过设置环境变量,改变默认安装位置:
RUSTUP_HOME D:\rust\rustup_home
CARGO_HOME D:\rust\cargo_home
先设置变量在安装,可以看到会在D盘新建两个文件夹。

按此设置安装好最后的截图:

4.2 直接从官方网站下载会很慢,改用国内镜像加速安装,设置以下环境变量:
RUSTUP_DIST_SERVER https://mirrors.tuna.tsinghua.edu.cn/rustup
RUSTUP_UPDATE_ROOT https://mirrors.tuna.tsinghua.edu.cn/rustup/rustup
4.3配置库镜像(类似python的pip):在“C:\Users\用户名\”下创建“.cargo”文件夹,在文件夹内创建“config”文件,如下图:
[source.crates-io]
registry = “https://github.com/rust-lang/crates.io-index”
replace-with = ‘tuna’
[source.tuna]
registry = https://mirrors.tuna.tsinghua.edu.cn/git/crates.io-index.git
4.4 安装rust,选x86_64-pc-windows-msvc
默认安装(位置可能是在C:\Users\Administrator\.cargo\bin),安装好最后的截图:

按照提示,重启一下安装程序(重新双击运行rustup-init.exe),以设置环境变量。
![]()
注意:如果没有设置上面的RUSTUP_HOME和CARGO_HOME变量,按照这一步来默认安装rust,安装到默认位置也是可以的。默认安装是先安装再设置变量,因为安装之前不确定安装在哪里,所以不能设置变量。而先设置指定安装位置的变量再安装,则安装程序就会安装到变量指定的路径,这两种安装方法2选1即可。
4.5 安装后验证
打开cmd窗口,输入 rustc --version ,输出版本信息说明安装成功,如下图:

5,此时 用vscode运行rust代码应该就可以了。

如果vscode在反复安装rust后运行不成功,在确保变量等都没问题的前提下,关掉vscode重新打开vscode在运行rust代码,结果如上图。
加群学习rust

如果群二维码过期,加微信legego,说明rust

更多推荐
所有评论(0)