讲师中心 微信公众号
AI工具推荐 视频效率加速

怎样用vscode编写并运行C++程序_配置编译器和调试环境【教程】

胖浩小哥_6604

胖浩小哥_6604

发布时间:2026-01-16 22:34:02

|

706人浏览过

|

来源于php中文网

原创

VS Code需手动配置C++编译调试环境:先安装g++/clang++并加入PATH,再装C/C++插件、配置c_cpp_properties.json指定编译器路径和标准,通过tasks.json实现一键编译(含-g参数),最后用launch.json配置调试,确保preLaunchTask与task标签一致且externalConsole为true。

怎样用vscode编写并运行c++程序_配置编译器和调试环境【教程】

VS Code 本身不带 C++ 编译器和调试器,必须手动配置外部工具链;没装 g++ 或 clang++,写完代码也运行不了。

确认系统已安装可用的 C++ 编译器

VS Code 只是编辑器,真正编译靠系统命令行工具。Windows 用户最容易卡在这一步:装了 VS Code,但没装 MinGW-w64 或没把 g++.exe 加进 PATH。

  • 在终端运行 g++ --version 或 clang++ --version,有输出才说明可用
  • Windows 推荐用 MinGW-w64(选 x86_64-posix-seh 版本),安装后把 bin/ 目录加进系统环境变量 PATH
  • macOS 用 xcode-select --install 安装命令行工具即可获得 clang++
  • Linux 用户通常已有 g++,若没有:Ubuntu/Debian 执行 sudo apt install g++,CentOS/RHEL 用 sudo yum install gcc-c++

安装必要插件并设置 c_cpp_properties.json

仅装 C/C++ 插件(Microsoft 官方)还不够,它需要知道头文件在哪、用哪个标准、是否启用 C++17 等——这些全靠 c_cpp_properties.json 告诉它。

  • 必须安装插件:C/C++(id: ms-vscode.cpptools)
  • 按 Ctrl+Shift+P(Win/Linux)或 Cmd+Shift+P(Mac),输入 C/C++: Edit Configurations (UI),图形化生成配置
  • 关键字段要核对:
    • "compilerPath" 必须指向你实际的 g++ 或 clang++ 路径,例如 "C:\msys64\ucrt64\bin\g++.exe"
    • "intelliSenseMode" 要匹配编译器,gcc-x64 对应 g++,clang-x64 对应 clang++
    • "cStandard" 和 "cppStandard" 建议设为 "c17" 和 "c++17",避免默认 c++14 导致新语法标红

用 tasks.json 实现一键编译

不配 tasks.json,你就得切到终端手动敲 g++ main.cpp -o main——这违背“一键运行”的初衷。

二狗PPT
二狗PPT

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

下载

立即学习“C++免费学习笔记(深入)”;

  • 在项目根目录建 .vscode/tasks.json,内容如下:
{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "g++ build active file",
      "command": "g++",
      "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}"
      ],
      "group": "build",
      "problemMatcher": ["$gcc"]
    }
  ]
}
  • "problemMatcher": ["$gcc"] 很关键:它让错误信息可点击跳转到出错行
  • 如果用 clang++,把 "command" 和 "args" 中的 g++ 换成 clang++ 即可
  • 按 Ctrl+Shift+B 运行该 task,生成可执行文件

配置 launch.json 启动调试

调试失败最常见的原因是:没生成带调试信息的二进制,或 launch.json 的 program 路径写错了。

  • 确保 tasks.json 的 args 包含 -g(如上例),否则断点无效
  • launch.json 中 "program" 必须是编译后生成的可执行文件路径,例如 "${fileDirname}/${fileBasenameNoExtension}"
  • Windows 下若用 MinGW,"miDebuggerPath" 需指向 gdb.exe,如 "C:\msys64\ucrt64\bin\gdb.exe"
  • 一个最小可用配置示例:
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++ launch",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": true,
      "MIMode": "gdb",
      "miDebuggerPath": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "g++ build active file"
    }
  ]
}
  • "preLaunchTask" 值必须和 tasks.json 中的 "label" 完全一致
  • "externalConsole": true 在 Windows 上很重要,否则控制台一闪而退,看不到 cin 或 printf 输出

最常被忽略的是编译器路径和调试器路径是否真实存在、是否在 PATH 中;哪怕只差一个反斜杠,VS Code 就会静默失败,既不报错也不运行。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

讯飞智作

讯飞智作是一款AI视频创作工具,AI文本配音工具,数字人课程、营销视频制作。

Lovart
Lovart Hot

一款面向视觉设计创作的AI设计平台,可通过智能体和画布工作流辅助制作海报、Logo、网页、PPT及其他视觉内容。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

Flowith
Flowith Hot

Flowith是一款基于画布和智能体工作流的 AI 协作工作空间。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

墨刀AI
墨刀AI Hot

一款AI图像与设计工具,主要用于产品经理的专属智能体,适合需要提升相关任务效率的用户。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

2255

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

3662

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

1216

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

4219

2025.09.10

printf用法大全
printf用法大全

php中文网为大家提供printf用法大全,以及其他printf函数的相关文章、相关下载资源以及各种相关课程,供大家免费下载体验。

888

2023.06.20

fprintf和printf的区别
fprintf和printf的区别

fprintf和printf的区别在于输出的目标不同,printf输出到标准输出流,而fprintf输出到指定的文件流。根据需要选择合适的函数来进行输出操作。更多关于fprintf和printf的相关文章详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1029

2023.11.28

windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

3399

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2958

2023.07.27

DBeaver怎么导入数据
DBeaver怎么导入数据

DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。

0

2026.11.05

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn