为什么Visual Studio Code运行C代码时报gcc.exe: No such file or directory错误?
问题原因
你的报错核心是文件名包含空格,gcc编译时默认以空格作为不同参数的分隔标识,原本的单个文件day 8 hw3.c被拆分为day、8、hw3.c三个独立的文件参数,gcc找不到对应文件就会抛出不存在的错误。你首次新建未保存时,VS Code生成的临时文件名不带空格,所以可以正常运行,保存后使用了你自定义的带空格文件名就会触发报错。
解决方案
- 方案1(最推荐):重命名文件,把文件名中的空格替换为下划线、连字符或者直接删除空格,例如修改为
day8_hw3.c。编程场景下建议所有文件名、存储路径都避免使用空格、中文、特殊符号,可以规避绝大多数路径类报错。 - 方案2(保留原文件名):手动编译运行时,给带空格的文件名和输出目标名用英文双引号包裹,正确的命令如下:
gcc "day 8 hw3.c" -o "day 8 hw3" & ".\day 8 hw3"
- 方案3(适配Code Runner一键运行):如果你使用VS Code的Code Runner插件一键执行代码,可以修改插件配置适配带空格的文件名:
- 打开VS Code设置,搜索
code-runner.executorMap,点击编辑进入JSON配置页 - 找到c语言对应的配置项,将原有配置替换为:
"c": "cd $dir && gcc \"$fileName\" -o \"$fileNameWithoutExt\" && \"$dir$fileNameWithoutExt\""- 保存配置后,再一键运行带空格文件名的C文件就不会触发报错。
- 打开VS Code设置,搜索
内容的提问来源于stack exchange,提问作者Arkapriya Gupta
相关产品推荐
相关产品推荐

