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

3.配置文件

1.task.json
  • 首先我们在创建一个文件夹test,然后点击VSCode中的文件->打开文件夹,选择刚创建的文件夹。然后点击箭头所指的按钮,创建一个1.cpp文件。


  • 编辑如下代码
javascript 复制代码
#include <iostream>
using namespace std;
 
int main() 
{
    cout << "Hello, World!";
    return 0;
}
  • 点击终端->配置默认生成任务
  • 在跳出来的界面中选择有g++的选项,然后会自动跳出一个task.json文件
  • 然后用下述代码替换task.json中的内容
javascript 复制代码
{
	"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文件中
javascript 复制代码
{
    "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": 后的路径需修改成自己的

下边是我这个文件中的代码

javascript 复制代码
{
    "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的

参考文章:

相关推荐
Paddi93036 分钟前
Codeforces Round 1004 (Div. 1) C. Bitwise Slides
c++·算法
流星白龙5 小时前
【C++】36.C++IO流
开发语言·c++
靡不有初1116 小时前
CCF-CSP第31次认证第二题——坐标变换(其二)【NA!前缀和思想的细节,输出为0的常见原因】
c++·学习·ccfcsp
labview_自动化8 小时前
C#功能测试
windows·microsoft·c#
艾斯比的日常8 小时前
VSCode 实用快捷键
ide·vscode·编辑器
Galaxy_12298 小时前
vscode远程报错:Remote host key has changed,...
ide·vscode·编辑器
彬sir哥8 小时前
VScode运行后出现黑窗口
vscode·运行·黑窗口
YH_DevJourney8 小时前
Linux-C/C++《C/7、字符串处理》(字符串输入/输出、C 库中提供的字符串处理函数、正则表达式等)
linux·c语言·c++
和光同尘@8 小时前
1011. A+B和C (15)-PAT乙级真题
c语言·开发语言·数据结构·c++·算法
来一杯龙舌兰9 小时前
【Postgresql】Windows 部署 Postgresql 数据库 (图文教程)
数据库·windows·postgresql