C++新手使用VSCode编译代码时报cd指定路径不存在错误如何解决?
报错原因
该错误是VSCode常用的Code Runner运行插件调用PowerShell执行编译命令时,生成的临时文件路径使用了DOS 8.3格式的短路径(MYPC~1为用户名对应的短名称),而当前系统要么未开启NTFS短路径支持,要么你的Windows用户名包含空格/中文等特殊字符,导致短路径映射失效,无法定位到对应目录。
解决方法
- 方案1:修改Code Runner执行规则(最推荐,对新手操作成本最低)
你可以提前在非系统盘新建一个完全由英文、数字组成,无空格无特殊字符的工作目录,比如D:\cpp_practice,之后所有C++代码都存到这个目录下。
打开VSCode设置,搜索code-runner.executorMap,点击「在settings.json中编辑」,找到cpp对应的配置项,替换为如下内容:
保存后重启VSCode即可正常编译运行代码。"cpp": "cd D:\\cpp_practice && g++ $fullFileName -o $fileNameWithoutExt && .\\$fileNameWithoutExt.exe", - 方案2:更换VSCode默认终端
打开VSCode设置,搜索terminal.integrated.defaultProfile.windows,将默认终端从PowerShell切换为Command Prompt,命令提示符默认支持DOS短路径格式,不需要额外修改配置即可正常执行编译命令。 - 方案3:开启系统NTFS短路径支持
按下Win+X选择「Windows终端(管理员)」,执行如下命令开启C盘的短路径生成功能:fsutil 8dot3name set C: 0
执行完成后重启电脑,系统会自动为路径生成对应短名称,即可解决路径识别失败问题。
内容的提问来源于stack exchange,提问作者phana0
相关产品推荐
相关产品推荐

