g++编译报错:–DNDEBUG、–Wall不存在,提示No such file or directory
报错原因
你编写的编译命令中,DNDEBUG和Wall前缀的符号不是标准半角ASCII连字符-,而是全角破折号–(Unicode编码U+2013)。g++只会将半角-开头的字符串识别为命令参数,全角破折号开头的内容会被判定为待编译的输入文件名,系统找不到对应名称的文件,因此抛出无此文件或目录的报错。
解决方法
- 将两个参数前缀的全角破折号替换为标准半角连字符
-,修改后的正确编译命令如下:
g++ -std=c++11 -DNDEBUG -Wall *.cpp
- 日常编写/复制终端命令时,尽量避免从Word、富文本网页等会自动替换标点格式的场景直接拷贝内容,优先在纯文本编辑器中输入命令,减少隐藏字符导致的异常问题。
内容的提问来源于stack exchange,提问作者Dano
相关产品推荐
相关产品推荐

