vscode编译c++代码时遇到的问题

文章讲述了在VSCode中使用C++时遇到关于C++11自动类型推断的警告,通过修改defaultSetting.JSON中的executorMap并指定-std=c++17编译选项解决了问题,指出VSCode作为IDE在处理这类问题时显得较为复杂。
摘要由CSDN通过智能技术生成

最近在用vscode作Cpp项目,在编译阶段发生如下问题:

[Running] cd "/Users/apple/Desktop/cs106L/simpleenroll_starter/" && g++ main.cpp -o main && "/Users/apple/Desktop/cs106L/simpleenroll_starter/"main

In file included from main.cpp:6:

./utils.cpp:146:3: warning: 'auto' type specifier is a C++11 extension [-Wc++11-extensions]

auto it = std::find(v.begin(), v.end(), elem);

看error信息可以得知,肯定是Complier版本没跟上,C++11没有 auto 这个关键字。所以要改版本(其实手动编译的话直接-std=c++xx或者其他版本就可以解决,但是为了集成作者也得搞一下,其实vscode作为cpp的IDE真的有点麻烦,机制很复杂)

去defaultSetting.JSON这个页面找到executeMap函数,如下。

cpp就在executorMap里面,需要在这段话里main增加对cpp版本的定义

把executorMap全部复制出来,粘贴在目前文件所在目录的setting.json中,在g++后面增加-std=c++17即可运行成功。

tips:好逆天的ide,感觉比手动编译还麻烦

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值