有一天我在打题的时候,使用了这种方式来初始化一个vector
vector<int> nums = {<!--{c}%3c!%2d%2d%20%2d%2d%3e-->-4,-1,0,3,10};
编译器马上很快就执行了编译命令
if ($?) { g++ day2_1.cpp -o day2_1 } ; if ($?) { .\day2_1 }
并且也很快的报了错(寄了)
day2_1.cpp: in function 'int main()':day2_1.cpp:17:37: error: in c++98 'nums' must be initialized by constructor, not by '{...}' vector<int> nums = {-4,-1,0,3,10};
很明显这是因为我的编译命令采用的c++版本不支持这种vector初始化的方式
所以我们需要修改编译选项
但是vscode这个高级记事本修改起来还挺麻烦的,所以在此记录一下
在vscode里,我一般使用coderunner这个插件来对代码进行编译运行,所以我这里的修改版本是在code runner上修改的
我们直接进入vscode,在我们.vsode
文件夹下,修改tting.json
文件,加入一条设置
"code-runner.executormap": { "cpp": "cd $dir && g++ -std=c++17 $filename -o $filenamewithoutext && $dir$filenamewithoutext", 十大耳机品牌排行榜 }
修改保存完之后,我们再次编译这个文件,可以发现命令行里的编译命令变成如下所示了
if ($?) { g++ -std=c++17 day2_1.cpp -o day2_1 } ; if ($?) { .\day2_1 }
good,这样我们的代码就能正确的编译运行了
有些hxd不喜欢用code runner,那也行,只用在.vscode
下的tasks.json
文件中,设置一下编译选项即可
我的tasks.json
长这样
{ "version": "2.0.0", "tasks": [ { "type": "sh糙米的功效ell", "label": "task g++", //修改此项 //"command": "d:\software\\mingw64\\bin\\g++.exe", "command": "c:\\mingw64\\mingw64\\bin\\g++.exe", "args": [ "-g", 亚洲杯预选赛 "${file}", "-o", "${filedirname}\${filebanamenoextension}.exe", "-std=c++17" ], "options": { "cwd": "c:\\mingw64\\mingw64\\bin" }, "problemmatcher": [ "$gcc" ], "group": "build" } ]}
到此这篇关于vscode 采用c++17版本进行编译的实现的文章就介绍到这了,更多相关vscohers和her的区别de c++17编译内容请搜索www.887551.com以前的文章或继大抗议书续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-04 16:37:14,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/29b7fe4f6f5db5edd61bcc070af89c93.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:vscode 采用C++17版本进行编译的实现.doc
本文 PDF 下载地址:vscode 采用C++17版本进行编译的实现.pdf
留言与评论(共有 0 条评论) |