windows配置C++编译环境和VScode C++配置(保姆级教程)

1.安装MinGW-w64

MinGW-w64是一个开源的编译器套件,适用于Windows平台,支持32位和64位应用程序的开发。它包含了GCC编译器、GDB调试器以及其他必要的工具,是C++开发者在Windows环境下进行开发的重要工具。
我找到了一个下载比较快的链接:https://gitcode.com/open-source-toolkit/1f790/overviewutm_source=highlight_word_gitcode&word=MinGW-w64&isLogin=1
解压后需要配置环境变量,以我的为例。

第一步

将bin文件夹的路径复制:E:\c++\mingw64\bin
在这里插入图片描述

第二步

*在开始菜单旁边的搜索框中输入环境变量,然后点击打开
在这里插入图片描述

  • 点击环境变量
    在这里插入图片描述

  • 双击系统变量中的Path
    在这里插入图片描述

  • 然后点击新建按钮,将刚才复制的路径添加进去,最后点击确定即可。
    在这里插入图片描述

  • 做完上述步骤后,可打开cmd进行验证。输入gcc -v 命令,若出现版本信息则配置成功。
    在这里插入图片描述
    到此,MinGW-w64就安装完毕了

2.安装VScode

  • 下载地址:https://code.visualstudio.com/Download
    这里大家可以参考文章:https://blog.csdn.net/MSDCP/article/details/127033151

  • 这里建议大家先汉化,安装插件重启即可。具体步骤如下图所示:
    在这里插入图片描述

3.配置文件

1.task.json
  • 首先我们在创建一个文件夹test,然后点击VSCode中的文件->打开文件夹,选择刚创建的文件夹。然后点击箭头所指的按钮,创建一个1.cpp文件。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 编辑如下代码
#include <iostream>
using namespace std;
 
int main() 
{
    cout << "Hello, World!";
    return 0;
}

在这里插入图片描述

  • 点击终端->配置默认生成任务
    在这里插入图片描述
  • 在跳出来的界面中选择有g++的选项,然后会自动跳出一个task.json文件
    在这里插入图片描述
  • 然后用下述代码替换task.json中的内容
{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++.exe 生成活动文件",
			"command": "E:\\c++\\mingw64\\bin\\g++.exe",
			"args": [
				"-fdiagnostics-color=always",
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "编译器: E:\\c++\\mingw64\\bin\\g++.exe"
		}
	]
}
  • 将下述中commanddetail替换成自己的实际目录,注意使用/ or\\
    在这里插入图片描述
2.launch.json
  • 接下来配置launch.json文件,该文件是针对程序运行的。点击Run(R)->添加配置->选择C/C++:(gdb)启动,将下边的代码复制到launch.json文件中
    在这里插入图片描述
{
    "configurations": [
    {
        "name": "(gdb) 启动",
        "type": "cppdbg",
        "request": "launch",
        "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "args": [],
        "stopAtEntry": false,
        "cwd": "${fileDirname}",
        "environment": [],
        "externalConsole": false,
        "MIMode": "gdb",
        "miDebuggerPath": "E:/c++/mingw64/bin/gdb.exe",
        "setupCommands": [
            {
                "description": "为 gdb 启用整齐打印",
                "text": "-enable-pretty-printing",
                "ignoreFailures": true
            },
            {
                "description": "将反汇编风格设置为 Intel",
                "text": "-gdb-set disassembly-flavor intel",
                "ignoreFailures": true
            }
        ],
        "preLaunchTask": "C/C++: g++.exe 生成活动文件"
    }
    ]
}

在这里插入图片描述

  • 将其中miDebuggerPath替换成自己的实际目录,注意使用/ or \\,其中externalConsole 指定程序运行时的输入和输出的窗口将在界面下方的终端,将其false改为true将在黑框中输入和输出。
3.c_cpp_properties.json

接下来配置c_cpp_properties.json文件,该配置文件针对于C/C++的相关拓展的,首先按下Ctrl+Shift+P以打开全局搜索,输入C/C++并在搜索结果中选择C/C++: 编辑配置(UI)
在这里插入图片描述

点击该选项,我们会打开一个设置的图形界面,如下图所示。
在这里插入图片描述
然后会自动生成 c_cpp_properties.json配置文件,我生成的内容如下:
在这里插入图片描述
其中 “compilerPath”: 后的路径需修改成自己的
下边是我这个文件中的代码

{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "compilerPath": "E:\\c++\\mingw64\\bin\\gcc.exe",
            "cStandard": "c17",
            "cppStandard": "gnu++14",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}
最后效果

在这里插入图片描述
注:我感觉这三个配置文件是针对当前文件夹的,加入你再创建一个文件夹可能需要重新操作上述步骤,或者把.vscode这个文件夹复制到你创建的文件夹中应该也可以。

4.安装扩展

  • C/C++ Extension Pack:一些常用的C/C++拓展
  • Code Runner:代码运行器

5.结尾

  • 最后,我们打开1cpp文件,点击运行->以非调试模式运行,若在终端出现Hello world的输出,说明配置是OK的
    在这里插入图片描述
    在这里插入图片描述

参考文章:

  • 1.VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了:https://blog.csdn.net/MSDCP/article/details/127033151
  • 2.全网最详细保姆级VSCode配置C/C++教程(基于官方文档):https://blog.csdn.net/qq_50813669/article/details/124461328
  • 3.Vscode调试环境配置解决The preLaunchTask‘C/C++: gcc.exe build active file‘ 的方法:https://blog.csdn.net/qq_38604345/article/details/126898103

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/888308.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Excel下拉菜单制作及选项修改

Excel下拉菜单 1、下拉菜单制作2、下拉菜单修改 下拉框&#xff08;选项菜单&#xff09;是十分常见的功能。Excel支持下拉框制作&#xff0c;通过预设选项进行菜单选择&#xff0c;可以避免手动输入错误和重复工作&#xff0c;提升数据输入的准确性和效率 1、下拉菜单制作 步…

硬盘数据恢复的方法有哪几种?9种妙招速览

在当今数字化时代&#xff0c;硬盘数据的安全至关重要。然而&#xff0c;数据丢失的情况时有发生&#xff0c;掌握硬盘数据恢复方法显得尤为重要。本文将详细介绍几种有效的硬盘数据恢复方法&#xff0c;帮助用户在遇到数据丢失问题时&#xff0c;能够迅速采取措施&#xff0c;…

LabVIEW提高开发效率技巧----使用动态事件

在LabVIEW开发过程中&#xff0c;用户交互行为可能是多样且不可预知的。为应对这些变化&#xff0c;使用动态事件是一种有效的策略。本文将从多个角度详细介绍动态事件的概念及其在LabVIEW开发中的应用技巧&#xff0c;并结合实际案例&#xff0c;说明如何通过动态事件提高程序…

github——指标统计

github——指标统计 它的作用特定项目统计首页展示 github-readme-stats是一个可以统计指定用户github指标的项目。可以使用此项目统计自己的github&#xff0c;用于首页展示。效果如图&#xff1a; 它的作用 它可以&#xff1a; 统计git操作统计账户编程语言构成比例解除githu…

sqli-labs less-13 post报错注入使用extractvalue

post提交报错注入 闭合方式及注入点 利用hackbar进行注入&#xff0c;构造post语句 unameaaa’passwdbbb&SubmitSubmit 页面报错&#xff0c;根据分析&#xff0c;闭合方式). 确定列数 构造 unameaaa’) or 11 # &passwdbbb&SubmitSubmit 确定存在注入 unameaaa’…

论文复现:Training on the Benchmark Is Not All You Need

文章目录 1 资料2 我的总结3 复现源码首先你需要有gpt的api接口安装&#xff1a;执行指令源码data_process.pyinference_logprobs.py 4 结果 1 资料 我复现的源码: https://github.com/Whiffe/Benchmark-leakage-detection/tree/main 官网源码&#xff1a;https://github.com…

【RAG】HiQA:一种用于多文档问答的层次化上下文增强RAG

前言 文档领域的RAG&#xff0c;之前的工作如ChatPDF等很多的RAG框架&#xff0c;文档数量一旦增加&#xff0c;将导致响应准确性下降&#xff0c;如下图&#xff1b;现有RAG方法在处理具有相似内容&#xff08;在面对大量难以区分的文档时&#xff09;和结构的文档时表现不佳…

【leetcode】125.验证回文串

思路&#xff1a; isPalindrome 函数&#xff1a; 使用两个指针 left 和 right 分别指向字符串的开始和结束。使用 isalnum 函数跳过非字母数字字符。使用 tolower 函数将字符转换为小写进行比较。如果在某一步比较中发现字符不相等&#xff0c;则返回 0&#xff08;false&…

Python进阶--函数进阶

目录 1. 函数多返回值 2. 函数多种传参方式 (1). 位置参数 (2). 关键字参数 (3). 缺省参数 (4). 不定长参数 3. 匿名函数 (1). 函数作为参数传递 (2). lambda匿名函数 1. 函数多返回值 def return_num():return 1# 返回1之后就不会再向下继续执行函数体return 2 resu…

gstreamer 内存 alloctor 介绍

文章目录 前言一、gstreamer 默认的内存 alloctor1. gstreamer 中默认的内存 allocator 为 GST_ALLOCATOR_SYSMEM (即SystemMemory)2. GST_ALLOCATOR_SYSMEM 申请内存实例二、gstreamer 目前支持的几种内存 alloctor1.GstDmaBufAllocator1.1 GstDmaBufAllocator 介绍1.2 GstDma…

Vue3轻松实现前端打印功能

文章目录 1.前言2.安装配置2.1 下载安装2.2 main.js 全局配置3.综合案例3.1 设置打印区域3.2 绑定打印事件3.3 完整代码4.避坑4.1 打印表格无边框4.2 单选框复选框打印不选中4.3 去除页脚页眉4.4 打印內容不自动换行1.前言 vue3 前端打印功能主要通过插件来实现。 市面上常用的…

基于springboot vue地方废物回收机构管理系统设计与实现

博主介绍&#xff1a;专注于Java&#xff08;springboot ssm 等开发框架&#xff09; vue .net php phython node.js uniapp 微信小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设&#xff0c;从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不…

GeoCue与Xer Technologies合作推动无人机测绘技术革新

GeoCue与Xer Technologies合作推动无人机测绘技术革新 近期,LiDAR测绘硬件和软件开发商GeoCue与瑞士长航时混合动力无人机制造商Xer Technologies AG携手合作,成功将GeoCue的TrueView 720 LiDAR和图像传感器集成至Xer X8无人机平台。这一里程碑式的合作不仅标志着无人机测绘技…

基于STM32的智能门锁控制系统设计

引言 本项目基于STM32微控制器设计了一个智能门锁控制系统&#xff0c;用户可以通过密码输入或指纹识别来控制门锁的开关。该系统集成了键盘、指纹传感器、舵机等外设&#xff0c;实现了门锁的安全、便捷控制&#xff0c;同时也具备了较强的扩展性。该项目展示了STM32在安防领…

某个应用的CPU使用率居然达到100%,我该怎么办?

摘至https://learn.lianglianglee.com/ CPU使用率 Linux 作为一个多任务操作系统&#xff0c;将每个 CPU 的时间划分为很短的时间片&#xff0c;再通过调度器轮流分配给各个任务使用&#xff0c;因此造成多任务同时运行的错觉。 为了维护 CPU 时间&#xff0c;Linux 通过事先定…

七、InnoDB数据存储结构

文章目录 1. 数据库的存储结构:页1.1 磁盘与内存交互基本单位:页1.2 页结构概述1.3 页的大小1.4 页的上层结构2. 页的内部结构2.1 第1部分:File Header(文件头部)和 File Trailer(文件尾部)2.1.1 File Header(文件头部)2.1.2 File tRAILER(文件尾部)2.2 第2部分:Fr…

【AIGC】通过OpenAi Canvas修改论文(附40条论文优化指令)

目录 1、用ChatGPT优化论文大纲和逻辑2、用ChatGPT充实论文内容3、用ChatGPT寻找案例和数据4、用ChatGPT检查语法和字词错误5、如何直接使用ChatGPT4o、o1、OpenAI Canvas6、OpenAI Canvas增强了啥&#xff1f;7、编程功能增强 在刚开始撰写学术论文时&#xff0c;很多小伙伴感…

深度学习之贝叶斯分类器

贝叶斯分类器 1 图解极大似然估计 极大似然估计的原理&#xff0c;用一张图片来说明&#xff0c;如下图所示&#xff1a; ​ 例&#xff1a;有两个外形完全相同的箱子&#xff0c;1号箱有99只白球&#xff0c;1只黑球&#xff1b;2号箱有1只白球&#xff0c;99只黑球。在一次…

LeetCode刷题日记之二叉树(六)

目录 前言二叉搜索树中的众数二叉树的最近公共祖先二叉搜索树的最近公共祖先总结 前言 又是学习LeetCode二叉树的新一天&#xff0c;今天还是接着学习一下二叉搜索树的内容&#xff0c;希望博主记录的内容能够对大家有所帮助 &#xff0c;一起加油吧朋友们&#xff01;&#x…

LeetCode讲解篇之2466. 统计构造好字符串的方案数

文章目录 题目描述题解思路题解代码题目链接 题目描述 题解思路 组成长度为i的字符串个数 组成长度为i - zero的字符串个数 组成长度为i - one的字符串个数 设数组f中i号元素的值为组成长度为i的字符串个数 则状态转移方程为f[i] f[i - zero] f[i - one]&#xff0c;其中需…