1.vscode默认c++98

在macos安装vscode以后,默认的c++版本为98。这个版本相对比较老,对很多新特性新语法也不支持。比如如果我们使用如下增强型for循环

for(int n: listnum) {...}

vscode会提示:

range-based for loop is a C++11 extension [-Wc++11-extensions]

因此,我们需要将vscode中的c++版本进行设置。

2.tasks.json配置c++11

tasks.json是对编译进行相关配置的。为了对c++11能支持生效,我们可以在args参数中进行指定:

{"version": "2.0.0","tasks": [{"type": "shell","label": "build","command": "/usr/bin/clang++","args": ["-std=c++11","-stdlib=libc++","-fdiagnostics-color=always","${file}","-o","${fileDirname}/../build/${fileBasenameNoExtension}","-g",],"options": {"cwd": "${fileDirname}"},"problemMatcher": ["$gcc"],"group": {"kind": "build","isDefault":true},"detail": "编译器: /usr/bin/clang++"}]
}

注意添加上了两行配置

-std=c++11
-stdlib=libc++

3.配置.vscode/c_cpp_properties.json

另外我们在.vscode中添加c_cpp_properties.json,对c++版本进行指定

{"configurations": [{"name": "Mac","includePath": ["${workspaceFolder}/**"],"defines": [],"macFrameworkPath": ["/Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks"],"compilerPath": "/usr/bin/clang++","cStandard": "c11","cppStandard": "c++11","intelliSenseMode": "clang-x64"}],"version": 4
}

其中指定"cppStandard": “c++11”。

4.配置code-runner

我们实际运行代码的时候,一般都是通过code-runner来运行,此时也需要对code-runner进行相关配置。

在settings.json中,有code-runner相关的配置

    "code-runner.executorMap": {"cpp": "cd $dir && clang++ -std=c++11 -g $fileName -o ../build/$fileNameWithoutExt && $dir/../build/$fileNameWithoutExt"}

上面这一行就是针对cpp的配置。加上-std=c++11就可以生效,代码可以正常编译运行。

5.配置Clang

上述配置完成以后,代码可以正常编译运行。但是在vscode编辑区域内,编辑器还是会提示报警信息:

range-based for loop is a C++11 extension [-Wc++11-extensions]

百思不得其解,也想了很久,能配置的地方已经都改过来了啊。

后来查了很久,终于才发现,编辑器报警的原因跟C/C++ Clang Command Adapter 有关。C/C++ Clang Command Adapter 默认的不是c++11,所以需要将其也进行配置。

点击左侧最下方的扩展按钮,可以看到我们已经安装了C/C++ Clang Command Adapter。
然后点击C/C++ Clang Command Adapter下方的齿轮按钮,选中齿轮按钮出现的扩展设置选项。

然后将Clang: Cflags中添加项:-std=c11
将Clang: Cxxflags中添加项:-std=c++11
这样vscode编辑区中就不会再出现上述的警告信息!

vscode配置c++11相关推荐

  1. ubuntu16.04编译安装c++ opencv与vscode配置debug

    一.编译安装c++ opencv 1.下载zip包 本文安装的是opencv3.4.3,下载链接,以Sources方式下载zip包. 2.安装依赖 sudo apt-get install build ...

  2. 软件_手把手教vscode配置c++,python开发环境

    原创:软件_手把手教vscode配置c++,python开发环境 之前主用Python作为项目开发语言,将项目迁移到arm边缘盒子上后发现arm的cpu不给力,软件速度低于预期,所以计划将部分程序改为 ...

  3. linux下vscode配置c++,使其和Visual Studio2019一样调试

    这篇文章是通过Makefile命令的形式进行配置的,这对大工程不友好,因此写了一篇vscode联合cmake进行环境配置,大家可以看这篇文章 linux下c++编译的方式 在win下visual st ...

  4. vscode配置c/c++编译环境(最终解决办法)

    vscode配置c++编译环境的完美配置与问题解决 如图,博主在用vscode配置c++时出现了很多问题: 当时真的要崩溃了,我的错误提示是:preLaunchTask"Compile&qu ...

  5. vscode配置c++环境并解决中文乱码问题

    总共四步: 安装vscodde,安装code runner 和C/C++ 插件 安装mingw64,并添加到环境变量 在vscode相关文件中添加配置 解决C++输出中文乱码的问题 第一步: 安装vs ...

  6. 【C++版Opencv】【Ubuntu】VScode配置Opencv

    1 安装基本工具 sudo apt install -y g++ sudo apt install -y cmake sudo apt install -y make sudo apt install ...

  7. VSCode配置 for Mac(一)C++

    VSCode配置 for Mac 本文只是记录一下自己熬这些编程配置环境的苦难历程(其实是给自己以后看的,包括c++.python.java环境的配置,旨在是用一个平台搭建多个语言的开发,陆续更新) ...

  8. vscode配置vue3+python开发环境

    vscode配置vue3+python开发环境 说明 推荐使用vscodium,没有用户追踪,下载VSCodium-win32-x64.zip,设置采用微软官方扩展源就是vscode了,设置方法如下 ...

  9. windows+vscode配置C++环境

    windows+vscode配置C++环境 参考链接 参考链接 1. 前提知识 g++是C++编译器 gcc是c编译器 MinGW 的全称是:Minimalist GNU on Windows Min ...

  10. 学习spring boot 第一天:vscode配置Java以及maven环境

    配置系统环境 1.1 安装jdk1.8 "我的电脑"右键→属性→高级系统设置→环境变量 点击"新建",新建系统变量JAVA_HOME,值为JDK安装根目录 D: ...

最新文章

  1. INSTALL_FAILED_VERSION_DOWNGRADE
  2. mysql 优化 类型_MySQL数据类型的优化选择
  3. C#decimal数据类型——有效长度问题
  4. ssh(Spring+Spring mvc+hibernate)——EmpServiceImpl.java
  5. 19日下午三点直播:DevOps体系中数据库端的四大问题及解决之道
  6. 物联网市场潜力巨大,中国移动加强布局
  7. 了解Linux操作系统的引导过程
  8. [function.strtotime] 错误对策
  9. lua定义一个简单的类
  10. Linux进程管理和服务控制
  11. 基于 CentOS 7 配置 NIS 主从实现集中化认证
  12. 看到了一段话,感触良多
  13. css元素类型哪几种
  14. Ubuntu 14.04 安装配置 JDK8
  15. 泛微OA 开发环境搭建 IDEA
  16. 红黑树,超强动静图详解,简单易懂
  17. 没办法计算机快捷键,快捷键Ctrl+Shift无法切换输入法没响应的解决办法
  18. 模型训练平台的构建_用5行代码构建自定义训练的对象检测模型
  19. 浏览器的同源策略和跨域请求_学习版
  20. 微信中如何直接下载app

热门文章

  1. 《Asp.Net 2.0 揭秘记(十四)
  2. 学习了1!+...10!
  3. T-SQL数据类型的细微差别(四)
  4. Java Proxy 动态代理原理剖析
  5. Fabric java sdk 1.4简明教程
  6. WEB前端 盒子模型稳定性
  7. Servlet、Listener、Filter、JSP
  8. DataGridView:DataGridView控件清空绑定的数据
  9. 锚点盒子随滚动条浮动
  10. 红帽全年总营收24亿美元,同比增长18%