You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复VS Code运行C++代码时出现的g++ No such file or directory错误

报错原因分析

首先还原你遇到的报错日志:

[Running] cd "c:\Users\dead\Documents\vs code\C++" && g++ new -o c:\Users\dead\Documents\vs code\C++\new && "c:\Users\dead\Documents\vs code\C++"c:\Users\dead\Documents\vs code\C++\new
g++: error: code\C++\new: No such file or directory
[Done] exited with code=1 in 0.455 seconds

报错由三个可定位的问题共同导致:

  1. 编译命令未指定源文件后缀:你使用的g++ new会默认寻找无后缀的new文件,而常规C++源文件后缀为.cpp,找不到对应文件就会触发报错。
  2. 带空格的路径未加引号包裹:路径c:\Users\dead\Documents\vs code\C++中vs和code之间存在空格,没有被双引号包裹时,系统会将空格识别为参数分隔符,把完整路径拆分为c:\Users\dead\Documents\vs和code\C++\new两个独立参数,自然找不到后者对应的路径。
  3. 运行命令路径拼接错误:日志最后一段"c:\Users\dead\Documents\vs code\C++"c:\Users\dead\Documents\vs code\C++\new存在明显的拼接错误,两个路径直接连在一起没有分隔符,属于运行插件的配置模板问题。
排查步骤
  • 开启Windows资源管理器的「显示文件扩展名」选项,确认你的源文件后缀为.cpp,不是.txt或者无后缀文件。
  • 确认你使用的C++运行插件,绝大多数这类报错都来自Code Runner插件的默认配置缺陷。
解决方案

临时验证方案

打开VS Code终端,手动执行正确的编译运行命令,验证功能是否正常:

cd "c:\Users\dead\Documents\vs code\C++"
g++ "new.cpp" -o "new.exe"
.\new.exe

如果命令执行后正常输出运行结果,即可确认是插件配置问题。

永久修复方案(修改Code Runner配置)

  1. 打开VS Code设置,搜索code-runner.executorMap,点击「在settings.json中编辑」
  2. 找到配置项中cpp对应的字段,替换为如下内容:
"cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt.exe\" && \"$dir$fileNameWithoutExt.exe\"",

该配置会自动给所有带空格的路径加双引号包裹,同时修正路径拼接逻辑,适配带空格的路径与带后缀的C++源文件。

可选规避方案

如果不想修改插件配置,可直接修改项目文件夹名称,把路径中的空格删除,比如将vs code文件夹重命名为vscode,无空格的路径不会触发参数拆分问题,也可以正常编译运行。

内容的提问来源于stack exchange,提问作者deepak chandra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 05:06:06