VSCode 2021运行C++出现g++ No such file or directory报错如何解决
问题原因
报错是文件名含空格且编译命令未正确用引号包裹带空格的参数导致的。从运行日志可以看到,g++把First Program.cpp拆成了First和Program.cpp两个独立文件识别,同时输出目标First Program也被拆成两个参数,最终找不到对应文件终止编译。
另外注意你描述中提到创建的是firstprogram.cpp,但运行命令调用的是First Program.cpp,请先确认实际文件名和运行的文件名是否一致。
解决方法
- 方法1(最推荐):修改文件名,移除所有空格。把带空格的源码文件重命名为不带空格的格式,比如
FirstProgram.cpp、first_program.cpp,即可直接正常编译运行。日常开发建议不要在源码文件名、路径中加空格,避免命令行识别异常。 - 方法2:如果需要保留带空格的文件名,要确保编译命令中所有带空格的路径、文件名都用双引号完整包裹。你当前命令里
-o First Program没有加引号,修改为如下格式即可:
cd "f:\c++\" && g++ "First Program.cpp" -o "First Program" && "f:\c++\First Program"
- 方法3(一劳永逸适配带空格文件名):修改VSCode Code Runner扩展的C++执行配置,让它自动给所有文件名加引号:
- 打开VSCode设置,搜索
Code Runner: Executor Map,点击「在settings.json中编辑」 - 找到
cpp对应的配置项,替换为以下内容:
"cpp": "cd $dir && g++ \"$fileName\" -o \"$fileNameWithoutExt\" && \"$dir$fileNameWithoutExt\""- 保存配置后重新运行代码即可。
- 打开VSCode设置,搜索
内容的提问来源于stack exchange,提问作者Usman Shabbir
相关产品推荐
相关产品推荐

