当前位置: 首页 > news >正文

VSCode 安装配置教程详解包含c++环境配置方法

vscode安装教程及c++环境配置详解

      • vscode下载安装
      • 下载C++扩展插件
      • VScode C++环境配置
      • 配置环境变量
      • 检查 MinGW 安装
      • 配置编译器:
      • 配置构建任务
      • 检查是否安装了编译器
      • 配置完毕

vscode下载安装

地址:官网下载地址
在这里插入图片描述
直接打开下载好的.exe文件进行安装即可,这个网上很多教程。
在这里插入图片描述
安装目录我这边选择F盘 :F:\Software\LearnSoftware\VScode
在这里插入图片描述
在这里插入图片描述
打开vscode,在扩展中搜索chinese插件并安装,安装后重启即可配置成中文页面
在这里插入图片描述
或者打开vscode后,用快捷键ctrl+shift+p,搜索Configure Display Language 选择中文后重启软件即可。
在这里插入图片描述
在这里插入图片描述

下载C++扩展插件

安装C++插件:在扩展商店中搜索C++,安装即可
在这里插入图片描述

VScode C++环境配置

安装MinGW编译器,下载mingw-64(windows 64位): 下载地址链接
在这里插入图片描述
在这里插入图片描述
下载完成后,解压到不含空格与字符、中文的目录下,以下目录是错误的,我将其解压到上一级目录中

在这里插入图片描述
如图,主目录中不含空格,中文以及其他字符,解压后放到mingw64文件夹,这个文件很重要,一定要仔细
在这里插入图片描述

配置环境变量

打开控制面板-系统-高级系统设置,或者Win+s 搜索高级系统设置

在这里插入图片描述

在这里插入图片描述

检查 MinGW 安装

打开cmd窗口,win+R输入cmd回车,输入F: 切换到mingw64目录所在根目录,我这里是安装在F盘,如果你是安装到D盘,就输入 D:

分别输入以下命令验证是否安装成功(注意中间有一个空格),由版本更新原因,命令格式可能有所不同,下面有左右列命令可供选择。

gcc -v gcc --version
g++ -v g++ --version
gbd -v gdb --version

如图所示,可查看安装版本,即安装成功。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

配置编译器:

按快捷键Ctrl+Shift+P调出命令面板,输入C/C++,选择“Edit Configurations(UI)”进入配置。配置两个选项: - 编译器路径:F:\Software\mingw64\bin/g++.exe 路径根据自己安装的Mingw编译器位置和配置的环境变量位置而定。
在这里插入图片描述
在这里插入图片描述
配置完成后,此时在侧边栏可以发现多了一个.vscode文件夹

里面有个c_cpp_properties.json文件,内容如下,说明上述配置成功。现在可以通过Ctrl+`或者“查看-终端”打开内置终端并进行编译运行了。

下面这些红框都是与上一个步骤中:Edit Configurations(UI)编译器配置相对应的。
在这里插入图片描述

配置构建任务

创建一个tasks.json文件, 按快捷键Ctrl+Shift+P调出命令面板,输入tasks,选择“Tasks:Configure Default Build Task”
在这里插入图片描述
选择第一个作为默认生成任务,此时会弹出一个tasks.json文件
在这里插入图片描述
在这里插入图片描述

检查是否安装了编译器

确保编译器可执行文件位于你的平台路径中(%PATH在 Windows、$PATHLinux 和 macOS 上),以便 C/C++ 扩展可以找到它。可以通过在 VS Code 中打开集成终端 ( Ctrl+` ) 并尝试直接运行编译器来检查 C++ 工具的可用性,或者在“查看”选项中选择打开终端

检查 GCC 编译器g++:g++ --version
当初我的mingw64是安装在F盘的,因此在终端中先输入F: 切换到F盘,接着输入g++ --version回车,如图表示安装成功
在这里插入图片描述

重启之后在盘中新建一个Helloworld文件夹,选中文件-将该文件添加进工作区,为确保编译器已正确安装和配置,我们将创建最简单的 Hello World C++ 程序
在这里插入图片描述
现在使用文件资源管理器中的新建文件按钮或文件>新建文件命令创建一个名为的新Helloworld.cpp文件。
新建一个C++文件,在Helloworld文件夹右上方新建一个文件,输入c++文件名:Helloworld.cpp 回车即可,然后输入下方示例代码保存
在这里插入图片描述
在这里插入图片描述

#include <iostream>int main()
{std::cout << "Hello World" << std::endl;system("pause");
}

或者示例2

#include <iostream>using namespace std;int main()
{cout << "Hello, world!" << "\n";  //输出字符串system("pause");                  //时输出窗口暂停,避免闪退return 0;
}

现在我们有了一个简单的 C++ 程序,从主菜单中选择终端>运行构建任务命令 ( Ctrl+Shift+B )
在这里插入图片描述
在这里插入图片描述
这将编译helloworld.cpp并创建一个名为 的可执行文件helloworld.exe,该文件将出现在文件资源管理器中。
在这里插入图片描述
从命令提示符或新的 VS 代码集成终端,现在可以通过键入“.\helloworld”来运行这个程序。
在这里插入图片描述
配置正常情况下,会看到输出“Hello World”。
如图,到这C++以及全部配置完毕,编译后输出正常

配置完毕

在这里插入图片描述

相关文章:

VSCode 安装配置教程详解包含c++环境配置方法

vscode安装教程及c环境配置详解 vscode下载安装下载C扩展插件VScode C环境配置配置环境变量检查 MinGW 安装配置编译器&#xff1a;配置构建任务检查是否安装了编译器配置完毕 vscode下载安装 地址&#xff1a;官网下载地址 直接打开下载好的.exe文件进行安装即可&#xff0…...

Baumer工业相机堡盟工业相机如何通过BGAPISDK将图像放大缩小显示(C#)

Baumer工业相机堡盟工业相机如何通过BGAPISDK将图像放大缩小显示&#xff08;C#&#xff09; Baumer工业相机Baumer工业相机BGAPISDK和图像放大缩小的技术背景Baumer工业相机通过BGAPISDK将相机图像图像放大缩小功能1.引用合适的类文件2.通过BGAPISDK将相机图像图像放大缩小功能…...

8.1 PowerBI系列之DAX函数专题-进阶-解决列排序对计算的影响

需求 下列矩阵中&#xff0c;在月份列不按照原始数据的month_no排列时&#xff0c;能正确计算销售额占比&#xff0c;但是当月份按照month_no排序时就会出错&#xff0c;需要解决这个问题。 实现 month % divide([amount],calculate([amount],all(date[month desc]))) //排…...

Java的第十二篇文章——集合

目录 第十二章 集合 学习目标 1. 集合框架的由来 2. 集合框架的继承体系 3. Collection接口 3.1 Collection接口的常用方法 4. Iterator接口 4.1 Iterator接口的抽象方法 4.2 获取迭代器接口实现类 4.3 迭代器的实现原理 4.4 并发修改异常 4.5 集合存储自定义对象并…...

docker 镜像制作 与 CI/CD

目录 镜像到底是什么&#xff1f; 使用docker创建镜像 步骤&#xff1a; 1、编辑Dockerfile&#xff08;Dockerfile是docker制作镜像的配方文件&#xff09; 2、编辑requirements.txt文件 3、编辑app.py文件&#xff0c;我们的程序文件 4、生成镜像文件 5、查看生成的镜…...

Spring Boot 异常报告器解析

基于Spring Boot 3.1.0 系列文章 Spring Boot 源码阅读初始化环境搭建Spring Boot 框架整体启动流程详解Spring Boot 系统初始化器详解Spring Boot 监听器详解Spring Boot banner详解Spring Boot 属性配置解析Spring Boot 属性加载原理解析Spring Boot 异常报告器解析 创建自定…...

瑞亚太空活动公司RSA与英国国防与安全加速器达成量子项目合作

​ &#xff08;图片来源&#xff1a;网络&#xff09; 瑞亚太空活动公司&#xff08;RSA&#xff09;与英国国防与安全加速器&#xff08;DASA&#xff09;签署了合作协议&#xff0c;主要开发名为“无限交换”的可操纵量子真空的技术项目。这是RSA在英国签订的第一份合同&…...

Shapley值法介绍及实例计算

Shapley值法介绍及实例计算 为解决多个局中人在合作过程中因利益分配而产生矛盾的问题&#xff0c;属于合作博弈领域。应用 Shapley 值的一大优势是按照成员对联盟的边际贡献率将利益进行分配&#xff0c;即成员 i 所分得的利益等于该成员为他所参与联盟创造的边际利益的平均值…...

不用手动改 package.json 的版本号

“为什么package.json 里的版本还是原来的&#xff0c;有没有更新&#xff1f;”&#xff0c;这个时候我意识到&#xff0c;我们完全没有必要在每次发布的时候还特意去关注这个仓库的版本号&#xff0c;只要在发布打tag的时候同步一下即可 node.js 部分&#xff0c;我们得有一个…...

gitlab Can‘t update,dev has no tracked branch

代码仓库迁移到gitlab后本地更改仓库地址后 拉取代码报错&#xff1a; Can’t update,dev has no tracked branch&#xff1a; 解决办法&#xff1a; 在当前项目的目录下运行命令&#xff1a; git branch -u git dev --set-upstream-toorigin/dev第一个dev是本地分支名字&…...

sql批量操作

SQl: 1&#xff0c;在某一字段后批量增加内容&#xff1a;UPDATE 表名 SET 字段 CONCAT(字段,要增加的内容) 例&#xff1a;UPDATE b8_niuniu_permission SET game_ids CONCAT(game_ids,,3) &#xff08;或者后面可以加where条件&#xff09; 2&#xff0c;批量修改某一字段…...

数据库监控与调优【九】—— 索引数据结构

索引数据结构-B-Tree索引、Hash索引、空间索引、全文索引 二叉树查找 对于相同深度的节点&#xff0c;左侧的节点总是比右侧的节点小。在搜索时&#xff0c;如果要搜索的值key大于根节点&#xff08;图中6&#xff09;&#xff0c;就会在右侧子树里查找&#xff1b;key小于根…...

哈工大计算机网络传输层详解之:流水线机制与滑动窗口协议

哈工大计算机网络传输层详解之&#xff1a;流水线机制与滑动窗口协议 哈工大计算机网络课程传输层协议详解之&#xff1a;可靠数据传输的基本原理哈工大计算机网络课程传输层协议详解之&#xff1a;TCP协议哈工大计算机网络课程传输层协议详解之&#xff1a;拥塞控制原理剖析 …...

Unity Mac最新打苹果包流程

作者介绍&#xff1a;铸梦xy。IT公司技术合伙人&#xff0c;IT高级讲师&#xff0c;资深Unity架构师&#xff0c;铸梦之路系列课程创始人。 IOS详细打包流程1.申请APPID2.申请开发证书3.创建描述文件 IOS详细打包流程 1.申请AppID 2.创建证书 3.申请配置文件&#xff08;又名描…...

【MySQL数据库 | 第二十篇】explain执行计划

目录 前言&#xff1a; explain&#xff1a; 语法&#xff1a; 总结&#xff1a; 前言&#xff1a; 上一篇我们介绍了从时间角度分析MySQL语句执行效率的三大工具&#xff1a;SQL执行频率&#xff0c;慢日志查询&#xff0c;profile。但是这三个方法也只是在时间角度粗略的…...

学Python能做哪些副业?我一般不告诉别人!建议存好

前两天一个朋友找到我吐槽&#xff0c;说工资一发交完房租水电&#xff0c;啥也不剩&#xff0c;搞不懂朋友圈里那些天天吃喝玩乐的同龄人钱都是哪来的&#xff1f;确实如此&#xff0c;刚毕业的大学生工资起薪都很低&#xff0c;在高消费、高租金的城市&#xff0c;别说存钱&a…...

简化 Hello World:Java 新写法要来了

OpenJDK 的 JEP 445 提案正在努力简化 Java 的入门难度。 这个提案主要是引入 “灵活的 Main 方法和匿名 Main 类” &#xff0c;希望 Java 的学习过程能更平滑&#xff0c;让学生和初学者能更好地接受 Java 。 提案的作者 Ron Pressler 解释&#xff1a;现在的 Java 语言非常…...

【服务器】springboot实现HTTP服务监听

文章目录 前言1. 本地环境搭建1.1 环境参数1.2 搭建springboot服务项目 2. 内网穿透2.1 安装配置cpolar内网穿透2.1.1 windows系统2.1.2 linux系统 2.2 创建隧道映射本地端口2.3 测试公网地址 3. 固定公网地址3.1 保留一个二级子域名3.2 配置二级子域名3.2 测试使用固定公网地址…...

浅谈常见的加密算法及实现

浅谈常见的加密算法及实现 简介&#xff1a; 随着公司业务的发展&#xff0c;系统用户量日益增多&#xff0c;系统安全性问题一直在脑子里反复回旋&#xff0c;以前系统用户少影响面小&#xff0c;安全方面也一直没有进行思考和加固&#xff0c;现如今业务发展了&#xff0c;虽…...

FTP协议详解

简介 FTP&#xff08;File Transfer Protocol&#xff0c;文件传输协议&#xff09; 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分&#xff0c;其一为FTP服务器&#xff0c;其二为FTP客户端。其中FTP服务器用来存储文件&#xff0c;用户可以使用FTP客户端通过FTP协…...

QMC5883L的驱动

简介 本篇文章的代码已经上传到了github上面&#xff0c;开源代码 作为一个电子罗盘模块&#xff0c;我们可以通过I2C从中获取偏航角yaw&#xff0c;相对于六轴陀螺仪的yaw&#xff0c;qmc5883l几乎不会零飘并且成本较低。 参考资料 QMC5883L磁场传感器驱动 QMC5883L磁力计…...

Qt Http Server模块功能及架构

Qt Http Server 是 Qt 6.0 中引入的一个新模块&#xff0c;它提供了一个轻量级的 HTTP 服务器实现&#xff0c;主要用于构建基于 HTTP 的应用程序和服务。 功能介绍&#xff1a; 主要功能 HTTP服务器功能&#xff1a; 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

.Net Framework 4/C# 关键字(非常用,持续更新...)

一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

均衡后的SNRSINR

本文主要摘自参考文献中的前两篇&#xff0c;相关文献中经常会出现MIMO检测后的SINR不过一直没有找到相关数学推到过程&#xff0c;其中文献[1]中给出了相关原理在此仅做记录。 1. 系统模型 复信道模型 n t n_t nt​ 根发送天线&#xff0c; n r n_r nr​ 根接收天线的 MIMO 系…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

Springboot社区养老保险系统小程序

一、前言 随着我国经济迅速发展&#xff0c;人们对手机的需求越来越大&#xff0c;各种手机软件也都在被广泛应用&#xff0c;但是对于手机进行数据信息管理&#xff0c;对于手机的各种软件也是备受用户的喜爱&#xff0c;社区养老保险系统小程序被用户普遍使用&#xff0c;为方…...

【Java学习笔记】BigInteger 和 BigDecimal 类

BigInteger 和 BigDecimal 类 二者共有的常见方法 方法功能add加subtract减multiply乘divide除 注意点&#xff1a;传参类型必须是类对象 一、BigInteger 1. 作用&#xff1a;适合保存比较大的整型数 2. 使用说明 创建BigInteger对象 传入字符串 3. 代码示例 import j…...