在Visual Studio Code中配置C++编译环境的问题

 更新时间:2021年7月5日 15:00  
关于Visual Studio Code对C++环境的配置方法应该有好多种,我这里用到了其中的两种,具体内容详情文中给大家详细介绍,对Visual Studio Code配置C++编译环境相关知识感兴趣的朋友一起看看吧

一、简介

  大学期间用的C++编译环境一直是Visual Studio 2010,最近碰到了一个赛题,需要用C++11的环境,且给了基础代码。基础代码在Visual Studio 2010不能成功运行,显示以下错误:

在这里插入图片描述

  后经查询,是因为Visual Studio 2010 至 2013这几个版本仅支持部分的C++11特性,所以报错,又想到Visual Studio Code和其都是一家,也有很多人推荐,就想着能不能通过它来实现C++环境的编译,毕竟如果下载高版本的Visual Studio 不仅大不说,开启速度在我的破电脑上也会比较慢。

二、准备工具

Visual Studio Code

Visual Studio Code

这个直接从官方网站上下载安装即可

Visual Studio Code扩展插件

C++
code Runner

这两个插件直接通过扩展库搜索安装即可,安装完之后重启生效

mingw 编译器

mingw

官方下载地址:https://sourceforge.net/projects/mingw-w64/files/mingw-w64/mingw-w64-release/
官方网站上可以下载安装文件形式、也可以直接下载压缩包免安装形式

下载安装完成后,需要将mingw的bin文件夹配置到电脑的环境变量中

环境变量配置

然后通过win+r 输入cmd打开命令行,然后输入 gcc -v,显示正确版本号即为配置成功

配置成功

三、配置文件

  关于Visual Studio Code对C++环境的配置方法应该有好多种,我这里用到了其中的两种。

1、配置Code Runner 找到扩展插件,点击工具图标,找到拓展设置

在这里插入图片描述

进入到拓展设置,找到Code-runner: Executor Map进行编辑

在这里插入图片描述

找到“cpp”,在指定位置添加-std=c++11

cpp

然后重启Visual Studio Code,想运行C++程序时,点击右上方的开始按钮即可

在这里插入图片描述显示结果

在code-runner: run in terminal勾选下方可选项可解决在输出的只读框中输入

在这里插入图片描述 

2、运行和调试配置

在这里插入图片描述

  在这里我们需要进行两项配置,一项是配置launch.json,一项是配置tasks.json,都有模板,直接抄模板就可以,只需要改动其中的mingw引用路径即可

launch.json

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
 
        {
            "name": "C++ (gdb) Launch",
            "preLaunchTask": "g++.exe build active file",
            "type": "cppdbg",//只能为cppdbg
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",//调试程序的路径名称
            "args": [],//调试传递参数
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "Enable pretty-printing for gdb",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ]
        }
    ]
}

tasks.json

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "shell",
			"label": "g++.exe build active file",
			"command": "C:\\mingw64\\bin\\g++.exe",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "C:\\mingw64\\bin"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			}
		}
	]
}

配置完毕之后,即可通过顶部导航栏上的运行进行调试运行

到此这篇关于在Visual Studio Code中配置C++编译环境的文章就介绍到这了,更多相关Visual Studio Code配置C++编译环境内容请搜索猪先飞以前的文章或继续浏览下面的相关文章希望大家以后多多支持猪先飞!

相关文章

  • 深入学习C++智能指针之shared_ptr与右值引用的方法

    智能指针的核心实现技术是引用计数,每使用它一次,内部引用计数加1,每析构一次内部的引用计数减1,减为0时,删除所指向的堆内存,今天通过本文给大家分享C++智能指针之shared_ptr与右值引用的方法,需要的朋友跟随小编一起看看吧...2021-07-13
  • C++字符串的处理详解

    这篇文章主要介绍了C++ string字符串类,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-08-13
  • 浅谈C++类型转换几种情况

    本文主要介绍了几种C++类型转换,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-08-05
  • C++实现LeetCode(37.求解数独)

    这篇文章主要介绍了C++实现LeetCode(37.求解数独),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-07-14
  • C++ const关键字分析详解

    C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性。这篇文章主要介绍了C/C++ 中const关键字的用法,需要的朋友可以参考下...2021-08-29
  • C/C++中虚基类详解及其作用介绍

    这篇文章主要介绍了C/C++中虚基类的详解及其作用介绍,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-09-04
  • C++变量引用的概念介绍

    这篇文章主要介绍了C++变量引用的概念介绍,简单提到了与指针概念的不同,通过代码场景分析给大家介绍的非常详细,需要的朋友可以参考下...2021-08-04
  • 一文搞懂C++中的四种强制类型转换

    很多朋友向小编了解C语言中怎么进行强制类型转换呢?在这小编告诉大家强制类型转换可以分为两种,一种是隐式类型转换一种是显示类型转换,下面通过示例代码给大家介绍下,需要的朋友参考下吧...2021-07-07
  • C++中char[]能修改char*却不行

    本文主要介绍了C++中char[]能修改char*却不行,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-13
  • C++:构造函数,析构函数详解

    今天小编就为大家分享一篇关于C++构造函数和析构函数的文章,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...2021-09-01
  • 一篇文章带你了解C++智能指针详解

    这篇文章主要介绍了c++ 智能指针基础的相关资料,帮助大家更好的理解和学习使用c++,感兴趣的朋友可以了解下,希望能给你带来帮助...2021-08-13
  • C++实现矩阵对称正交化的示例代码

    这篇文章主要介绍了C++实现矩阵对称正交化,分为python代码和C++的eigen库实现代码,代码简单易懂,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-09-15
  • C++ 约瑟夫环问题案例详解

    这篇文章主要介绍了C++ 约瑟夫环问题案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-08-15
  • Windows下VScode实现简单回声服务的方法

    回声服务端可以将客户端传来的信息,再原封不动地发送给客户端,因而得名 epoch 服务。接下来通过本文给大家介绍Windows下VScode实现简单回声服务的方法,感兴趣的朋友一起看看吧...2021-08-14
  • 结构体对齐的规则详解及C++代码验证

    在c语言的结构体里面一般会按照某种规则去进行字节对齐。本文就来介绍一下如何实现,具有一定的参考价值,感兴趣的可以了解下...2021-08-17
  • 线段树详解以及C++实现代码

    线段树在一些acm题目中经常见到,这种数据结构主要应用在计算几何和地理信息系统中,这篇文章主要给大家介绍了关于线段树以及C++实现的相关资料,需要的朋友可以参考下...2021-07-19
  • C++实现LeetCode(51.N皇后问题)

    这篇文章主要介绍了C++实现LeetCode(51.N皇后问题),本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下...2021-07-14
  • 从c++标准库指针萃取器谈一下traits技法(推荐)

    本篇文章基于gcc中标准库源码剖析一下标准库中的模板类pointer_traits,并且以此为例理解一下traits技法,对c++ traits技法源码分析感兴趣的朋友跟随小编一起看看吧...2021-07-14
  • C++手写内存池的案例详解

    这篇文章主要介绍了C++手写内存池的案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-08-08
  • C/C++实现快速排序(两种方式)图文详解

    这篇文章主要介绍了C/C++实现快速排序的方法,这几天在找工作,被问到快速排序,结果想不出来快速排序怎么弄的;回来搜索了一下,现在记录下来,方便以后查看...2021-08-13