0

0

如何在VSCode中搭建C++编译环境并运行程序?【教程】

幻影之瞳

幻影之瞳

发布时间:2026-01-23 15:10:54

|

215人浏览过

|

来源于php中文网

原创

VSCode需手动配置C++编译环境:先安装g++/clang++并加入PATH,再安装C/C++和Code Runner插件;多文件项目须配置tasks.json构建和launch.json调试路径一致。

如何在vscode中搭建c++编译环境并运行程序?【教程】

VSCode 本身不带 C++ 编译器,必须手动配置外部工具链;直接点击运行按钮会报错 command 'C_Cpp.BuildAndDebug' not found 或提示找不到 g++,这不是 VSCode 的问题,而是环境没装齐。

确认已安装编译器(g++clang++

VSCode 只是编辑器,真正编译靠系统里的编译器。Windows 推荐装 MinGW-w64(选 x86_64-posix-seh 版本),macOS 用 Xcode Command Line Tools(运行 xcode-select --install),Linux 直接 sudo apt install g++(Debian/Ubuntu)或 sudo yum install gcc-c++(CentOS/RHEL)。

装完后在终端执行:

g++ --version

如果提示 command not found,说明没加进 PATH —— Windows 要手动把 MinGW 的 bin 目录(如 C:\mingw64\bin)加到系统环境变量;macOS/Linux 检查 ~/.zshrc~/.bash_profile 是否有 export PATH="/usr/local/bin:$PATH" 类似语句。

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

安装必要插件:C/C++ 和 Code Runner

仅装 Microsoft 官方的 C/C++ 插件(ID:ms-vscode.cpptools)还不够,它只提供智能提示和调试支持,不负责一键编译运行。建议额外装 Code Runner(ID:formulahendry.code-runner),它能快速执行单文件程序。

  • C/C++ 插件启用后,会在项目根目录生成 .vscode/c_cpp_properties.json,用于指定 includePathcompilerPath —— 如果你用了非默认路径的 g++,这里必须手动改 compilerPath,比如 "compilerPath": "C:/mingw64/bin/g++.exe"
  • Code Runner 默认用 g++ 编译,但不读 c_cpp_properties.json;如需自定义命令,修改 settings.json 中的 code-runner.executorMap,例如:
"code-runner.executorMap": {
    "cpp": "cd $dir && g++ -std=c++17 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
}

注意 Windows 下要用 && 连接命令,Linux/macOS 用 &&-std=c++17 可按需换成 c++20

配置 tasks.json 实现真正可控的构建

如果写多文件项目、需要链接第三方库,或者想用 Ctrl+Shift+B 触发构建,就得配 .vscode/tasks.json。它比 Code Runner 更底层、更稳定,且与调试器(launch.json)天然协同。

蚂蚁PPT
蚂蚁PPT

AI在线智能生成PPT

下载

生成方式:打开命令面板(Ctrl+Shift+P),输入 Tasks: Configure TaskCreate tasks.json file from templateG++ Build Active File

关键点:

  • 确保 args 里包含 -g(生成调试信息),否则 launch.json 无法断点
  • 若项目含多个源文件,不能只写 $fileName,得改成 $fileDirname/*.cpp 或列全路径
  • 输出文件名统一用 -o $fileDirname/out,避免每次编译生成一堆 .exe 文件
  • Windows 用户注意路径分隔符,args 中不要出现反斜杠 \,一律用正斜杠 /

调试前务必检查 launch.jsonprogram 路径

点绿色三角形调试时,如果报错 Cannot start process, exception while trying to start process: Access is deniedThe specified executable does not exist,大概率是 launch.json 里的 program 字段指向了错误路径。

常见错误写法:

"program": "${fileDirname}/${fileBasenameNoExtension}.exe"

问题在于:如果 tasks.json 把可执行文件生成到了别的目录(比如 build/),这里就找不到。正确做法是保持一致:

  • 要么让 tasks.json 输出到 ${fileDirname}/,并确保 launch.jsonprogram 与之匹配
  • 要么在 launch.json 中显式写死路径,如 "program": "${fileDirname}/build/main"(Linux/macOS)或 "program": "${fileDirname}/build/main.exe"(Windows)
  • Windows 下还容易因杀毒软件拦截导致“Access is denied”,可临时关闭或添加信任

多文件项目里,program 必须指向最终链接出的可执行文件,不是某个 .cpp 源文件。

相关专题

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

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

417

2023.08.07

json是什么
json是什么

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

533

2023.08.23

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

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

311

2023.10.13

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

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

76

2025.09.10

while的用法
while的用法

while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。

93

2023.09.25

堆和栈的区别
堆和栈的区别

堆和栈的区别:1、内存分配方式不同;2、大小不同;3、数据访问方式不同;4、数据的生命周期。本专题为大家提供堆和栈的区别的相关的文章、下载、课程内容,供大家免费下载体验。

394

2023.07.18

堆和栈区别
堆和栈区别

堆(Heap)和栈(Stack)是计算机中两种常见的内存分配机制。它们在内存管理的方式、分配方式以及使用场景上有很大的区别。本文将详细介绍堆和栈的特点、区别以及各自的使用场景。php中文网给大家带来了相关的教程以及文章欢迎大家前来学习阅读。

574

2023.08.10

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

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

667

2023.07.26

c++空格相关教程合集
c++空格相关教程合集

本专题整合了c++空格相关教程,阅读专题下面的文章了解更多详细内容。

0

2026.01.23

热门下载

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

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.7万人学习

Git 教程
Git 教程

共21课时 | 2.9万人学习

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

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号