Powered by:NEFU AB-IN
请一定结合B站视频和本博客进行配置!!博客中的部分截图是错误的(在视频中有所展现)
视频地址
文章目录
p s : ps: ps:如果下到D盘,那么路径都和我一样,如果下到C盘,别忘了改路径!
Windows Vscode C++17/20 配置教程
起因
在博主打比赛时,对 m a p map map进行 a u t o auto auto的遍历操作,会导致编译警告,即 W a r n n i n g Warnning Warnning,显示只有 c + + 17 c++17 c++17可以用这个特性,但是可以编译,只是会用错误波浪线和编译警告
由于一开始不知道 g c c gcc gcc版本十分旧,一直用的是 c o d e b l o c k s codeblocks codeblocks里自带的 m i n g w 64 mingw64 mingw64,而且也不知道 m i n g w mingw mingw常年不更新版本,就冒然在 c o d e r u n n e r coderunner coderunner中修改了命令,将 c + + 11 c++11 c++11改成了 c + + 17 c++17 c++17
cd "d:\Code\Vscode\ACM\CF\2021.10.9\" ; if ($?) { g++ -std=c++17 a.cpp -o a } ; if ($?) { .\a }
结果:(由于博主已经配置完了,就拿 c o d e b l o c k s codeblocks codeblocks做个错误演示)
貌似就是 f s _ p a s h . h fs\_pash.h fs_pash.h有问题,搜了很久也没个说法
于是博主开始研究怎么升级 g c c gcc gcc版本,可以使用 c + + 17 c++17 c++17
- 目前 g c c gcc gcc版本: 8.1.0 8.1.0 8.1.0
下载MSYS2
-
介绍MSYS2
由于 MinGW 本身仅代表工具链,而在 Windows 下,由于Windows的terminal cmd窗口使用感受太差,以及配套的命令行工具不够齐全,因此,MinGW 开发者从曾经比较旧的 Cygwin 创建了一个分支,也用于提供类 Unix 环境。但与 Cygwin 的大而全不同,MSYS 是冲着小巧玲珑的目标去的,所以整套 MSYS 以及 MinGW,主要以基本的 Linux 工具为主,大小在 200M 左右,并且没有多少扩展能力。
由于 MinGW 万年不更新,MSYS 更是,Cygwin的许多新功能 MSYS 没有同步过来,于是 Alex 等人建立了新一代的 MSYS 项目。仍然是 fork 了 Cygwin(较新版),但有个更优秀的包管理器 pacman,有活跃的开发者跟用户组,有大量预编译的软件包(虽然肯定没有Cygwin多)
msys2是一款跨平台编译套件,它模拟linux编译环境,支持整合mingw32和mingw64,能很方便的在windows上对一些开源的linux工程进行编译运行。
-
官网下载
接着跟着教程走
我的安装路径为
D:\msys64
-
安装mingw64
由于 m s y s 2 msys2 msys2是个工具链,我们还是要从这个编译套件中下载 m i n g w 64 mingw64 mingw64
-
安装gcc gdb make
查找 g c c gcc gcc,找到 w i n win win版本的 g c c gcc gcc
根据自己的电脑的 O S OS OS选择版本,这里我选择 m i n g w − w 64 − x 86 _ 64 − g c c mingw-w64-x86\_64-gcc mingw−w64−x86_64−gcc
可以看到安装需要的命令
如果安装完成,打开 m s y s 2 msys2 msys2,并进行更新(如果需要换源,可以百度自行搜索)
pacman -Syu --disable-download-timeout
之后去往安装的路径,可以看到 m s y s 2. e x e msys2.exe msys2.exe
打开并继续进行更新
pacman -Syu --disable-download-timeout
之后进行 g c c , g d b , m a k e gcc,gdb,make gcc,gdb,make的安装
pacman -S mingw-w64-x86_64-gcc --disable-download-timeout pacman -S mingw-w64-x86_64-make --disable-download-timeout pacman -S mingw-w64-x86_64-gdb --disable-download-timeout
最后,再进行一次更新
pacman -Syu --disable-download-timeout
-
设置环境变量
之前大家应该都设置过,这里就不细说了
直接将原有的路径替换为
D:\msys64\mingw64\bin
即可
Vscode配置
-
Vscode插件
插件首先要配置好,这里推荐 c o d e r u n n e r coderunner coderunner,自定义命令
-
配置cpp
-
配置 coderunner
打开 s e t t i n g s . j s o n settings.json settings.json,找到 c o d e r u n n e r coderunner coderunner的配置选项处
"code-runner.executorMap": { "javascript": "node", "java": "cd $dir && javac $fileName && java $fileNameWithoutExt", "c": "cd $dir && gcc $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "objective-c": "cd $dir && gcc -framework Cocoa $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt", "php": "php", "python": "cd $dir && python -u $fileName" }
-
配置 C/C++ IntelliSense
为了不让波浪线的出现,要设置标准
即 . v s c o d e .vscode .vscode的文件夹中的,配置 c _ c p p _ p r o p e r t i e s . j s o n c\_cpp\_properties.json c_cpp_properties.json文件
-
配置 Debug
修改本地文件夹下的 l a u n c h . j s o n launch.json launch.json和 t a s k . j s o n task.json task.json
大功告成
效果
版本
11.2.0
11.2.0
11.2.0
V
s
c
Vsc
Vsc编译界面