如何解决g++.exe报错‘dsa: No such file or directory’及编译失败问题
问题原因及解决办法
你的编译命令出错的核心原因是文件名和输出目标名包含空格,但未用引号包裹,导致g++将空格视为参数分隔符:把dsa trials.cpp拆成了dsa、trials.cpp两个不存在的文件,把-o dsa trials拆成了输出文件dsa和额外参数trials,自然找不到对应文件。
修正后的编译运行命令
在PowerShell中,需要用双引号包裹带空格的文件名和输出文件名,让shell将其识别为单个参数:
cd "e:\cpp codes\" ; if ($?) { g++ "dsa trials.cpp" -o "dsa trials" } ; if ($?) { .\"dsa trials" }
额外建议
- 日常编程尽量避免在文件名、目录名中使用空格或特殊字符,减少这类不必要的命令语法问题。
- 如果一定要使用带空格的名称,务必在命令中用引号将其整体包裹。
内容的提问来源于stack exchange,提问作者Jaymin Panchal
相关产品推荐
相关产品推荐

