vscode如何采用C++17版本进行编译
导读:本文共1493.5字符,通常情况下阅读需要5分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 有一天我在打题的时候,使用了这种方式来初始化一个vectorvector<int>nums={<!--{C}%3C!%2D%2D%20%2D%2D%3E-->-4,-1,0,3,10};编译器马上很快就执行了编译命令if($?){g++day2_1.cpp-oday2_1};if($?){.\day2_1}并且也很快的报了错(寄了)day... ...
目录
(为您整理了一些要点),点击可以直达。有一天我在打题的时候,使用了这种方式来初始化一个vector
vector<int>nums={<!--{C}%3C!%2D%2D%20%2D%2D%3E-->-4,-1,0,3,10};
编译器马上很快就执行了编译命令
if($?){g++day2_1.cpp-oday2_1};if($?){.\day2_1}
并且也很快的报了错(寄了)
day2_1.cpp:Infunction'intmain()':day2_1.cpp:17:37:error:inC++98'nums'mustbeinitializedbyconstructor,notby'{...}'vector<int>nums={-4,-1,0,3,10};
很明显这是因为我的编译命令采用的C++版本不支持这种vector初始化的方式
所以我们需要修改编译选项
但是vscode这个高级记事本修改起来还挺麻烦的,所以在此记录一下
Code Runner
在vscode里,我一般使用codeRunner这个插件来对代码进行编译运行,所以我这里的修改版本是在Code Runner上修改的
我们直接进入vscode,在我们.vsode
文件夹下,修改setting.json
文件,加入一条设置
"code-runner.executorMap":{"cpp":"cd$dir&&g++-std=c++17$fileName-o$fileNameWithoutExt&&$dir$fileNameWithoutExt",}
修改保存完之后,我们再次编译这个文件,可以发现命令行里的编译命令变成如下所示了
if($?){g++-std=c++17day2_1.cpp-oday2_1};if($?){.\day2_1}
good,这样我们的代码就能正确的编译运行了
不用Code Runner
有些hxd不喜欢用Code Runner,那也行,只用在.vscode
下的tasks.json
文件中,设置一下编译选项即可
我的tasks.json
长这样
{"version":"2.0.0","tasks":[{"type":"shell","label":"taskg++",//修改此项//"command":"D:\\2Software\\mingw64\\bin\\g++.exe","command":"C:\\Mingw64\\mingw64\\bin\\g++.exe","args":["-g","${file}","-o","${fileDirname}\\${fileBasenameNoExtension}.exe","-std=c++17"],"options":{"cwd":"C:\\Mingw64\\mingw64\\bin"},"problemMatcher":["$gcc"],"group":"build"}]}
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
vscode如何采用C++17版本进行编译的详细内容,希望对您有所帮助,信息来源于网络。