C++ 开发 + VSCode 调试

这篇具有很好参考价值的文章主要介绍了C++ 开发 + VSCode 调试。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MSYS2 安装 gcc、make

下载

官方下载
清华大学开源软件镜像站:MSYS2 软件仓库

安装

  • MSYS2:
    1. 主要功能是提供一个在Windows操作系统上模拟类Unix环境的开发和构建工具集。它提供了一个模拟POSIX系统的命令行接口和包管理器(Pacman)。
    2. MSYS2基于Cygwin技术,但它更专注于构建原生Windows应用程序。
    3. 它的目标是创建一个易于使用的开发平台,使得开发者能够在Windows上编译和运行那些原本在Unix/Linux环境下开发的开源软件。
  • MinGW-w64:
    1. 是一个项目,其目的是为Windows提供GCC(GNU Compiler Collection)和其他工具链的移植版本,以便能够直接生成64位或32位Windows原生可执行文件,无需依赖Cygwin或其他兼容层。
    2. MinGW-w64支持现代Windows特性,并解决了早期MinGW在64位系统支持上的局限性。
  • 两者的关系:
    1. MSYS2 集成了 MinGW-w64 工具链,使得用户可以通过简单的命令行操作安装和使用 GCC 编译器来编译 Windows 原生程序。
    2. 使用 MSYS2 的开发者可以利用其提供的包管理系统快速获取并更新 MinGW-w64 等工具链及相关库文件,简化了Windows下的跨平台开发流程。

MSMYS2

下载后直接运行安装即可,我装在: D:\msys64
安装好后,出现多个快捷方式,下表简单是介绍
C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode

快捷方式 描述
MSYS2 CLANG64 使用Clang编译器的64位版本环境,提供基于LLVM的C、C++和Objective-C编译器工具链,用于生成Windows 64位原生可执行文件。
MSYS2 CLANGARM64 同样基于Clang,但针对ARM64架构(如Windows on ARM),为ARM64平台提供编译环境。
MSYS2 MINGW32 运行32位MinGW-w64工具链的命令行环境,适用于编译面向32位Windows系统的原生应用。
MSYS2 MINGW64 提供64位MinGW-w64工具链的命令行环境,主要用于编译运行在64位Windows系统上的原生应用,是常用的开发选项。我用的这个
MSYS2 MSYS 基于POSIX兼容层的Shell环境,提供较为完整的Unix/Linux-like环境,支持那些需要较高程度POSIX兼容性的软件编译或脚本执行。
MSYS2 UCRT64 使用Universal CRT (UCRT) 的64位工具链环境,该环境下的工具链依赖较新的Windows SDK,可能包含对最新Windows特性和API的支持。

接下来的操作需要用到 pacman 命令,此表是简单的介绍,先了解一下:

命令 功能描述
pacman -Syu 同步并更新系统所有的软件包到最新版本(包括内核与核心库)
pacman -S package_name 安装指定的单个软件包及其依赖
pacman -S package1 package2 安装多个指定的软件包及它们的依赖
pacman -R package_name 卸载指定的软件包,但保留其配置文件
pacman -Rs package_name 卸载指定的软件包,并删除其配置文件
pacman -Ss search_term 搜索软件仓库中包含指定关键词的软件包
pacman -Qpacman -Qe 列出已安装的所有软件包
pacman -Qi package_name 查询特定软件包的详细信息
pacman -Qo /path/to/file 查看指定文件属于哪个已安装的软件包
pacman -Scc 清理缓存,删除所有未使用的包文件
pacman -Sy 只同步软件数据库,不进行更新操作
pacman -Su 更新所有已安装且有更新版本的软件包
pacman -Syu --noconfirm 强制更新系统且不询问用户确认
pacman 添加镜像源
# 编辑源
nano /etc/pacman.d/mirrorlist.mingw64

将清华镜像添加到开头 Server = https://mirrors.tuna.tsinghua.edu.cn/msys2/mingw/x86_64
最后 Ctrl + X 退出如有提示按 Y 保存

GCC

1. 安装

我是 win11 x64系统,所以我装这个版本 mingw-w64-x86_64-gcc

# 查看
pacman -Ss mingw-w64-x86_64-gcc

# 安装前,先更新数据库和软件包,确保是最新的(如果需要)
pacman -Syu
# 如果有核心包更新,会关闭 MSYS2,自己手去打开 MSYS2 后再执行一下,继续完成非核心包更新
pacman -Syu

# 安装
pacman -S mingw-w64-x86_64-gcc

2. 查看结果

安装完成后 D:\msys64\mingw64\bin 目录下就有东西了
C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode
打开 D:\msys64\mingw64\bin 目录,
在地址栏输入 cmd 打开命令行,输入命令查看版本
gcc --versiong++ --version

C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode

3. 环境变量

D:\msys64\mingw64\bin 添加到环境变量。

  1. WIN + R 打开运行窗口.。
  2. 输入rundll32 sysdm.cpl,EditEnvironmentVariablesCtrl + Shift + 回车 打开窗口。
  3. 系统变量 中找到 Path 点编辑。
  4. 新增一条记录,写入 D:\msys64\mingw64\bin

GDB

# 安装
pacman -S mingw-w64-x86_64-gdb

C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode

VSCode 调试

所需插件

安装 C/C++ Extension Pack 就够了,C/C++ 扩展包 包含了在 Visual Studio Code 中进行 C++ 开发的一系列热门扩展:

  • C/C++
  • C/C++ Themes
  • CMake
  • CMake Tools

创建项目

  1. 新建一个文件夹 demo1 用 VSCode 打开。
  2. 创建 helloworld.cpp 文件,内容:
#include <iostream>
#include <string>

using namespace std;

int main()
{
  cout << "Hello World" << endl;
}

调试代码

因为 D:\\msys64\\mingw64\\bin\\g++.exeD:\\msys64\\mingw64\\bin\\gdb.exe 已经添加到环境变量。所以下面的配置中也可以改为相对路径

1. tasks.json 配置任务

终端 > 配置默认生成任务…
C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode
完成后将自动生成 tasks.json,内容如下:(注意检查 commandcwd 是否正确)

{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: g++.exe 生成活动文件",
            "command": "D:\\msys64\\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": "编译器: D:\\msys64\\mingw64\\bin\\g++.exe"
        }
    ],
    "version": "2.0.0"
}

2. launch.json 配置调试

我们来设置 gdb 调试
C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode
如此可自动创建 launch.json,内容如下:(注意检查miDebuggerPath 是否正确)

{
    "configurations": [
        {
            "name": "(gdb) 启动",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${fileDirname}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\msys64\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                },
                {
                    "description": "将反汇编风格设置为 Intel",
                    "text": "-gdb-set disassembly-flavor intel",
                    "ignoreFailures": true
                }
            ]
                        
        }
    ],
    "version": "2.0.0"
}

3. 运行

打开 helloworld.cpp 文件,按 F5 运行。

更进一步的 C/C++ 设置

c_cpp_properties.json 用于更改编译器路径、包含路径、C++ 标准(默认为 C++17)等设置。

  1. 命令面板:Ctrl + Shift + P 输入 C/C++ 选择:
    C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode
  2. 添加一个配置,并设置后会生成 c_cpp_properties.json 文件
    C++ 开发 + VSCode 调试,C/C++,IDE 集成开发环境,c++,vscode
  3. c_cpp_properties.json 内容:
{
    "configurations": [
        {
            "name": "g++",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "D:/msys64/mingw64/bin/g++.exe",
            "cStandard": "c17",
            "cppStandard": "c++17",
            "intelliSenseMode": "windows-gcc-x64"
        }
    ],
    "version": 4
}

参考资料

中国科学技术大学 http://mirrors.ustc.edu.cn/
清华大学 https://mirrors.tuna.tsinghua.edu.cn/

Using GCC with MinGW
launch.json and tasks.json 使用 ${variableName} 语法

MSYS2安装gcc、make环境
【VSCode】C++环境配置(小白必看)文章来源地址https://www.toymoban.com/news/detail-794622.html

到了这里,关于C++ 开发 + VSCode 调试的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 集成开发环境(IDE)介绍

    集成开发环境(Integrated Development Environment,IDE)是一种软件应用程序,用于开发和编写软件。常见的IDE包括Eclipse、Visual Studio、IntelliJ IDEA、Qt Creator等。 集成开发环境(IDE)通常由以下几个主要组成部分组成: 代码编辑器:用于编写和编辑源代码的工具,通常支持语法高亮显

    2024年01月21日
    浏览(49)
  • IDE:常见的集成开发环境

    1、QT-Creator         Qt Creator是跨平台的 Qt IDE, Qt Creator 是 Qt 被 Nokia 收购后推出的一款新的轻量级集成开发环境(IDE)。此 IDE 能够跨平台运行,支持的系统包括 Linux(32 位及 64 位)、Mac OS X 以及 Windows。根据官方描述,Qt Creator 的设计目标是使开发人员能够利用 Qt 这个应

    2024年04月15日
    浏览(42)
  • Python 环境搭建,集成开发环境IDE: PyCharm

    今天我要和大家分享一个非常有趣的话题——Python开发环境搭建。在我们的日常生活中,图片处理已经成为了一个非常常见的需求,无论是修图、美颜还是进行一些创意合成,都离不开图片处理。而Python作为一门功能强大的编程语言,在图片处理方面也能够发挥出其独特的优

    2024年02月08日
    浏览(71)
  • IDE(集成开发环境)插件是安全开发的便捷方式之一

    开发人员每天都使用插件,插件的功能在于简化开发流程,例如自动检测所有特殊字符(如“;”、“:”)或语法合规性。创建插件的目的本身就是为了让开发人员能够在编写代码时检测漏洞,并在无需离开 IDE 环境的情况下立即修复漏洞。我们来了解一下,什么是插件以及如

    2024年03月23日
    浏览(40)
  • Vscode搭建开发调试STM32/RISC-V环境IDE(最全面)

    单片机开发IDE环境如KeilMDK,虽然操作简单 ,方便调试。但就是代码编辑风格很老套,中文符号乱码还是常有的事。而如今流行的vscode编辑器很不错,免费且相当轻量级,用来代码开发体验很不错,看着都舒服。Clion IDE体验更好,但就是它不免费且体积较大。Stm32cubeIDE生成工

    2024年02月16日
    浏览(54)
  • 软件的开发工具包(SDK)与集成开发环境(IDE)

    本文重点论述软件的开发工具包(SDK)与集成开发环境(IDE)的基本概念和作用。 通常情形下,无论是安装一个软件还是开发一个软件,实际上主要做两个事情:产生SDK(Software Development Kit,简称SDK,软件开发工具包)和IDE(Integrated Development Environment,简称IDE,集成开发环

    2024年02月16日
    浏览(48)
  • 有哪些免费好用的Python IDE(集成开发环境)?

    工欲善其事,必先利其器。Python的学习过程少不了集成开发编辑环境(IDE)。这些Python IDE会提供插件、工具等帮助开发者加快使用Python开发的速度,提高效率。这里收集了一些对开发者非常有帮助的Python IDE(来自hittp://doc.okbase.net/havoc/archive/242858.html)。这些IDE的相关介绍如下所示

    2024年02月11日
    浏览(60)
  • Go语言集成开发环境(IDE):GoLand 2023中文

    GoLand 2023是一款由JetBrains开发的现代化、功能丰富的Go语言集成开发环境(IDE) 。它提供了智能代码提示和自动完成、强大的内置调试器以及代码重构工具,帮助开发者提高编码效率并确保代码质量。GoLand 2023还支持多种版本控制系统,集成了测试工具,并提供了代码审查功能

    2024年02月06日
    浏览(41)
  • 【Java】IDE集成开发环境工具IntelliJ安装和使用

    欢迎来到《小5讲堂》 大家好,我是全栈小5。 这是《Java》序列文章,每篇文章将以博主理解的角度展开讲解, 特别是针对知识点的概念进行叙说,大部分文章将会对这些概念进行实际例子验证,以此达到加深对知识点的理解和掌握。 温馨提示:博主能力有限,理解水平有限

    2024年01月18日
    浏览(66)
  • 用Vscode集成开发微信小程序

    一、创建项目 创建项目还是需要在微信开发者工具上创建项目 二、在Vscode打开创建好的项目   三、下载对应微信开发的插件并安装   四、因为Vscode不能支持wxss和wxml的编译,所以我们需要对其进行相应操作让vscode可以当成html和css文件处理 1.点击设置  2.找到相应区域,添加

    2024年02月12日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包