VSCODE-Tutorials-将 GCC 与 MinGW 结合使用

C语言开发环境搭建:VSCode+GCC VSCode(全称:Visual Studio Code)是一款由微软开发且跨平台的免费源代码编辑器。该软件支持语法高亮、代码自动补全(又称 IntelliSense)、代码重构、查看定义功能,并且内置了命令行工具和 Git 版本控制系统。用户可以更改主题和键盘快捷方式实现个性化设置,也可以通过内置的扩展程序商店安装扩展以拓展软件功能。VS Code 使用 Monaco Editor 作为其底层的代码编辑器。VSCode官网https://code.visualstudio.com/Linux系统自带gcc 阅读详情

VSCODE-Tutorials-将 GCC 与 MinGW 结合使用

官方网址

在本教程中,你将使用来自mingw-w64的 GCC C++ 编译器 (g++) 和 GDB 调试器配置 Visual Studio Code 以在Windows上运行创建运行的程序

配置 VS Code 后,您将在 VS Code 中编译和调试一个简单的 Hello World 程序。本教程不会教您 GCC、GDB、Mingw-w64 或 C++ 语言。对于这些主题,Web 上有许多很好的资源可用。

准备工作

Visual Studio Code;MinGW-x64

这两者的安装与配置参考之前的博客,输入以下命令查看MinGW是否安装成功:

g++ --version
gdb --version

如果您没有看到预期的输出或者g++或者gdb没有一个公认的命令,请确保您的路径条目MinGW的-W64二进制位置在编译器位于匹配。

在这里插入图片描述

显示以上信息则代表安装成功。

创建Hello World

创建工作区

创建一个名为的空文件夹projects,您可以在其中放置所有 VS Code 项目。然后创建一个名为 helloworld 的子文件夹,右击projects文件夹点击 通过Code打开。在学习本教程时,您将看到.vscode在工作区的文件夹中创建了三个文件:

  • tasks.json (构建说明)
  • launch.json (调试器设置)
  • c_cpp_properties.json (编译器路径和 IntelliSense 设置)

点击文件 > 将工作区另存为 > 打开projects文件夹 > 保存,操作完成后就将projects设为了工作区,可以该工作区下创建多个工作项目。

在这里插入图片描述

关于直接创建文件夹和创建工作区的差别这里不进行叙述

添加源码

选中helloworld并在文件资源管理器标题栏中,选择新建文件按钮并将文件命名为helloworld.cpp.

在这里插入图片描述

创建完成后输入以下代码:

#include <iostream>
#include <vector>
#include <string>

using namespace std;

int main()
{
    vector<string> msg {"Hello", "C++", "World", "from", "VS Code", "and the C++ extension!"};

    for (const string& word : msg)
    {
        cout << word << " ";
    }
    cout << endl;
}

按住Ctrl+S保存后,显示如下:

在这里插入图片描述

建立helloworld.cpp

接下来,创建一个tasks.json文件来告诉VSCODE(编辑器)如何建立(编译)程序,该文件主要用来调用g++编译器去创建源码的可执行文件。操作步骤是:终端(Terminal )> 配置默认生成任务(Configure Default Build Task),在下拉列表中显示的是给C++编译器的各类预定义目标(task)。选择C/C++:g++.exe生成活动文件(C/C++:g++.exe build active file),

在这里插入图片描述

这将创建一个tasks.json文件在.vscode文件夹中并在编辑器中打开它。你的新tasks.json文件应该类似于下面的 JSON:

{
	"version": "2.0.0",
	"tasks": [
		{
			"type": "cppbuild",
			"label": "C/C++: g++.exe 生成活动文件",
			"command": "C:\\mingw64\\mingw64\\bin\\g++.exe",
			"args": [
				"-g",
				"${file}",
				"-o",
				"${fileDirname}\\${fileBasenameNoExtension}.exe"
			],
			"options": {
				"cwd": "${fileDirname}"
			},
			"problemMatcher": [
				"$gcc"
			],
			"group": {
				"kind": "build",
				"isDefault": true
			},
			"detail": "编译器: C:\\mingw64\\mingw64\\bin\\g++.exe"
		}
	]
}

在这里插入图片描述

其中参数说明如下:

​ command:设置指定程序运行(在这里就是指的g++)。

​ args:数组形式。设置一些传递给命令行g++的参数,这些参数必须按一定的顺序提供给编译器。

​ -g:提供给g++进行编译的生成文件(${file})

​ -o:创造生成文件的可执行文件在当前路径(${fileDirname}),并且使用相同名字的.exe扩展(${fileBasenameNoExtension}.exe),这里就是helloworld.exe。

​ lable:在任务中可以看到的值(可自定义命名)

​ isDefault:true的设定仅仅是为了方便起见,它是指定您按Ctrl+Shift+B时运行此任务,当为false时,仍可以使用终端(Terminal)> 运行生成任务 (Run Build Task)从终端菜单运行它。

运行生成任务
  1. 返回 helloworld.cpp. 你需要运行 helloworld.cpp并且需要运行生成文件.
  2. tasks.json定义了运行生成任务的命令, 按住Ctrl+Shift+B 或者使用终端(Terminal)> 运行生成任务 (Run Build Task)。
  3. 当任务开始后,集成终端面板将会在源代码下方显示,任务完成后,终端将会显示编译器的的输出,说明编译是否成功,成功地g++编译如下:

在这里插入图片描述

使用+键创建一个新终端,这是一个以project文件夹为工作目录的新终端,进入helloworld运行dir可以看到可执行文件helloworld.exe

在这里插入图片描述

进一步输入.\helloworld.exe可以看到 .cpp文件中要输出的内容。

修改tasks.json

您可以tasks.json通过使用类似的参数"${workspaceFolder}\\*.cpp"而不是${file}. 这将构建.cpp当前文件夹中的所有文件。您还可以通过替换"${fileDirname}\\${fileBasenameNoExtension}.exe"为硬编码文件名(例如"${workspaceFolder}\\myProgram.exe")来修改输出文件名。

调试helloworld.cpp

接下来按下F5来配置VSCODE编辑器加载GDB调试器来创建launch.json文件,以此来调试源码。

​ 1.从主目录下选择运行(Run)> 添加配置(Add Configuration)并进一步选择C++ (GDB/LLDB)。

​ 2.你将会从下拉选项中看到调试配置,选择g++.exe - 生成和调试活动文件(g++.exe build and debug active file.)

在这里插入图片描述

VSCODE创建一个launch.sjon文件,在编辑器中打开它

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "C:\\mingw64\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe 生成活动文件"
        }
    ]
}

其中参数说明如下:

​ program:指定需要调试的程序,

​ ${fileDirname}是表示活动(调试)文件夹

​ ${fileBasenameNoExtension}.exe:是表示活动(调试)文件名

​ 举例说明则是如果活动(调试)文件是helloworld.cpp,那么${fileBasenameNoExtension}.exe则表示helloworld.exe。

​ stopAtEntry:false表示默认不对main()设置断点,true表示默认对main()设置断点。当为true时,运行(run) > 启动调试表现如下:

在这里插入图片描述

若为false则不会出现该情况,直接运行完毕。

​ preLaunchTask:在启动前需要执行的任务(也就是tasks.json),因此这里的名字需要与tasks.json中label参数值保持一致。

C/C++配置

设置 c_cpp_properties.json 可以控制更多的C/C++ extension,这个json文件主要用来改变设置:编译器路径(path to the compiler)、包含路径(include paths)以及C标准(C++ standard;默认是C++17)等。这里有两种设置方式,将分别介绍。

第一种方式(C/C++ configuration UI)

按住Ctrl+Shift+P后,在下拉选项中输入:C/C++;可以选择C/C++:编辑配置(UI)(C/C++: Edit Configurations (UI))调出Microsoft C/C++扩展进行设置。

在这里插入图片描述

当你对其中的参数设置改变时,VSCODE将会将这些改变写入c_cpp_properties.json文件,这里我们改变配置名称(Configuration name)为GCC;下拉编译路径(Compiler path )为g++编译器。IntelliSense模式(IntelliSense mode)为Windows-gcc-x64

在这里插入图片描述

全部设置完成后点击设置中c_cpp_propertiese.json文件,则会在.vscode文件夹下保存该文件。打开该文件显示如下内容:

{
    "configurations": [
        {
            "name": "GCC",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "C:/mingw64/mingw64/bin/g++.exe",
            "intelliSenseMode": "windows-gcc-x64",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

同时也可以添加工作空间之外的头文件到includePath路径下,如opencv等。

第二种方式(C/C++ configuration JSON)

按住Ctrl+Shift+P后,在下拉选项中输入:C/C++可以选择C/C++:编辑配置(JSON)(C/C++: Edit Configurations (JSON))直接在.vscode文件夹下创建c_cpp_properties.json。

在这里插入图片描述

这种方式则需要对其中的配置参数进行更改,将name,compilerPath,intelliSenseMode进行更改,以及自行决定是否添加cppStandard参数值:

{
    "configurations": [
        {
            "name": "GCC",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.17763.0",
            "compilerPath": "C:/mingw64/mingw64/bin/g++.exe",
            "intelliSenseMode": "windows-gcc-x64",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}
Visual Studio Code 配置C/C++编译及调试环境 Visual Studio Code 配置C/C++编译及调试环境 背景 Visual studio code 是微软推出的最新跨平台代码编辑器,用来编辑代码用,是一个轻量级的支持扩展组件的代码辑器。 具有轻便、可扩展、功能强大的特点。但是其自身只是代码编辑工具,对于c/c++ 而言没有编译和调试功能,需要在工具中自行配置才能具备调试和编译功能。因此本文就在Visual studio code 中如何配置c/c++ 编译调试环境进行讲解,以便能帮助各位搭建出可以进行c/c++代码编写、编译、调试的环境。文章 阅读详情

相关推荐

【工具使用】VScode配置gcc开发环境

本文,主要介绍如何使用vscode配置gcc环境,供参考。

专注音频,高效工作,快乐生活! 1万+

Visual Studio Code配置C语言编译环境(使用gcc编译器)

1、配置gcc编译器 2、安装VSCode编辑器插件 3、编写测试程序编译运行C语言程序 目录 1、配置gcc编译器 2、安装VSCode编辑器插件 3、编写测试程序编译运行C语言程序

fuyanhuangyan的博客 2万+

未隔离电源设备使用usb转串口调试导致串口模块爆炸烧坏事故记录

这个事就发生在前两天,我们公司的wifi模块被客户用到了咖啡机上,客户寄了一台整机给我们协助调试,还送了几包咖啡豆,本想着还能打个咖啡喝一喝的,但就在咖啡机刚寄过来第一天,就出事了。而这个事故的发生,竟然仅仅是因为同事接了个串口模块到电脑调试打印导致的。谁也想不到,这个3.3V的供电的wifi模块居然还有这么大的威力。直接将usb转TTL串口模块的转换芯片给爆开了,咖啡机也给弄坏了,据同事描述当时情况就只见到一片火光和一声巨响,状况比较惨烈,所幸的是笔记本电脑没有烧坏,但是直接给崩蓝屏了。 ...

fangye945a的博客 6186

如何在Visual Studio Code运行C语言?(以及一些快捷指令、常见错误)

一、安装Visual Studio Code 前往Visual Studio Code下载软件并安装 二、

weixin_51075990的博客 7万+

Ethercat学习-从站源码生成

移植平台GD32F450,从站芯片AX58100

西澳峰的博客 9207

西门子S7-200 SMART与施耐德ATV变频器Modbus通讯实战:从接线到稳定运行的完整指南

本文详细介绍了西门子S7-200 SMART PLC与施耐德ATV变频器之间实现稳定Modbus通讯的完整实战指南。内容涵盖从硬件接线、参数配置、PLC程序编写到触摸屏设计的全流程,并分享了提升通讯稳定性的关键技巧和常见故障排查方法,助力工业自动化系统可靠运行。

kkk56的博客 1103

关于GCC和MinGW编译器的那些事

关于编译器GCC以及MinGW的基本介绍。

weixin_43354152的博客 2387

微信抢红包神器自动抢软件

微信抢红包神器自动抢软件

weixin_44006731的博客 8076

Visual Studio Code 配置 gcc

作者:谭九鼎链接:https://www.zhihu.com/question/30315894/answer/154979413来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 0. 前言 本文面向初学者(但不是纯小白),分享一点我的经验。<del>毕竟百度“VS Code C”出来的第一条就是这个网页</del>现在不是了...

weixin_30381793的博客 1万+

STC8H单片机ADC实战:从读取电位器到串口绘图,12位精度玩起来

本文详细介绍了STC8H单片机的ADC功能实战应用,从读取电位器到串口绘图,展示了12位精度的实现方法。通过硬件连接、代码配置、串口数据传输及高级优化技巧,帮助开发者快速掌握ADC模块的使用,适用于各种传感器数据采集和信号处理场景。

weixin_28278377的博客 341

如何在n8n中高效调用playwright-mcp实现浏览器自动化(附避坑指南)

本文详细介绍了在n8n中高效集成playwright-mcp实现浏览器自动化的全流程指南,包括环境准备、工作流设计与优化、高级技巧与性能调优以及调试与问题排查。通过克服实际部署中的各种挑战,帮助用户打造稳定高效的自动化解决方案,特别适合需要浏览器自动化的工作流场景。

weixin_30379531的博客 387

61K QT资源库:一站式解决Qt开发环境配置与功能实现难题

在跨平台C++开发领域,Qt框架因其强大的GUI能力和丰富的模块库而备受青睐。其核心原理在于通过信号槽机制实现对象间通信,并封装了底层系统API,为开发者提供了统一的编程接口。这一技术价值体现在能够显著提升桌面端、嵌入式等应用的开发效率与可维护性。在实际工程实践中,环境配置、功能模块实现和故障排查是开发者普遍面临的高频挑战。针对这些痛点,整合了海量教程、代码片段和解决方案的资源集合应运而生。本文聚焦的“61K QT”正是这样一个综合性资源库,它系统性地覆盖了从安装部署、IDE配置到高级功能实现和疑难排错的全

weixin_34037515的博客 404

仿真每日一练 | Workbench下薄板疲劳分析

今天给大家介绍Workbench下薄板疲劳分析,采用稳态分析模块进行评估。完成求解后,插入疲劳工具,同时插入对应的寿命进行查看,如图7和图8所示。采用稳态分析模块,导入几何模型,效果如图1。添加固定约束与扭矩,同时添加转速如图4所示。主要包括7要素,对应的类型见图2。求解完成后查看应力,如图6所示。1-1-3、有限元系统模型构建。1-2-1、加载条件/边界条件。1-1-1、几何模型构建。1-1-2、材料定义。1-2-2、求解设置。1-3-1、查看结果。1-3-2、评估结果。1-3-3、修正结果。

ansysxuexizhe的博客 1068

VS Code 配置 C/C++ 编程运行环境(保姆级教程)

在本教程中,将会安装 Visual Studio Code(后简称 VS Code),并在 VS Code 中安装 C/C++ 相关插件, 同时也将 VS Code 配置为使用 MinGW-W64 中的 GCC C/C++ 编译器(gcc/g++)和 GDB 调试器来创建在 Windows 上运行的程序。配置 VS Code 后,你将编写、编译、运行和调试大多数的 C/C++ 程序。本教程所有参考内容均来自。

Grayson Blog 90万+

Allegro如何进行四层板板层设计

板层的设计

weixin_42499230的博客 3182

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

使用Visual Studio Code开发C语言

在这之前我一直使用Visual Studio对C语言进行开发,其他方面也是一直使用keil开发单片机,直到这段时间在学习数据结构的时候才发现Visual Studio Code没有编译功能。MinGW 的全称是:Minimalist GNU on Windows ,实际上是将gcc(c/c++编译器)移植到了 Windows 平台下。5.新建我们下载的文件路径D:\ming64\mingw64\bin。打开launch文件:将系统默认的清除改成下表代码。(下载是一个漫长的过程........)

qq_60299751的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

用Visual Studio Code搭建C/C++语言开发环境

本文简要介绍如何在Visual Studio Code平台搭建C语言和C++语言开发环境,从而有效发挥VS Code的强大功能,来支持敏捷C/C++敏捷开发项目。

jackson_lingua的博客 980

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

在Windows上使用Mingw-W64进行C C++开发(gcc工具链)_mingw工具链

在MinGW-W64中,因为make是一个自动化编译构建工具,并无32位64位之分,所以。为了在命令行使用这些工具,需要将该目录配置到。,为了表明这个原因,make工具的名称变为。MinGW-W64安装完成后,其工具都在。如何解决这一问题呢?

2401_85015191的博客 3376

Visual Studio Code安装配置C/C++教程

目录复制。

qq_51280220的博客 888

如何在windows环境下添加GCC和MinGw编译器

1.将GCC编译器放在C盘根目录下 配置环境变量          右击我的电脑---&gt;属高级系统设置 ------&gt;点击环境变量 ------&gt;双击系统变量框中系统变量Path ---&gt;新建系统变量 -----&gt;将GCC编译器中的cs-make的路径拷入新建系统变量中---&gt;确定 3.测试环境变量已经配置完毕    输入 ar...

Linux_Cls的博客 1689

【亲测免费】 打造高效C语言编程环境:Visual Studio Code + GCC 配置指南

打造高效C语言编程环境:Visual Studio Code + GCC 配置指南 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 你是否正在寻找一个高效、便捷的C语言编程环境?无论你是编程新手,还是希望切换开发环境的老手,本项目都将为你提供一个完美的解决方案。C语言编程环境配置指南项目旨在帮助你快速搭建一个适合C语言编程的基础环境,特别推荐使用Visual Studi...

gitblog_06580的博客 1100

Visual Studio Code(VS Code)配置C/C++环境

本文详细介绍了如何在Visual Studio Code(VS Code)中配置C/C++环境。

进击的饭团儿的博客 1万+

Visual Studio Code如何配置c语言环境及中文环境

VSCode如何写C语言代码

Azperk的博客 3010

Visual Studio Code配置C++环境(Windows系统)

摘要:本文详细介绍了在Windows系统下使用VSCode配置C/C++开发环境的完整流程。主要内容包括:1) 通过MinGW-w64安装GCC编译器并配置系统环境变量;2) VSCode插件安装及项目文件夹创建;3) 配置c_cpp_properties.json和tasks.json文件;4) 代码编写、编译与运行测试。文中特别强调了编译器路径选择、环境变量设置等关键步骤,并提供了验证配置成功的方法。通过图文结合的方式,逐步指导用户完成从环境搭建到代码运行的完整过程,适合C/C++开发初学者参考。

xiaocaigou11的博客 1598

vs2015使用MinGW编译的动态库

工作过程中经常会遇到使用其他开源项目的情况,有些开源项目有vs工程,比如opus,可以直接编译出vs可识别的动态库或静态库,但有些开源项目则没有,此时想要做的就是利用该源代码编译一个或多个库来使用。 MinGw完全可以胜任这些工作,它可以安装autoconf、automake等工具,用来编码源码很方便,折腾半天库终于编译出来了,MinGW下测试也木有问题,但是vs不识别,不识别,不识别。。。

xy_kok的博客 9626
上一篇: VSCODE-Tutorials-通过Microsoft C++配置VSCODE
下一篇: PyTorch-C++前端
humeme
博客等级 码龄9年 25粉丝 25原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值