让 clang 忽略空通配符

Make clang ignore empty wildcard

我想让 clang 编译目录中的 C 和 C++ 文件(如果有的话)。为此,我 运行 clang 如下:clang *.c *.cpp。我的问题是,如果没有一种类型的文件,它会拒绝 运行:clang: error: no such file or directory: '/mnt/c/test/*.c'
有没有办法让 clang 忽略不匹配任何文件的通配符?

谢谢

问题似乎出在 bash 中内置的 shell globbing,而不是 clang。您不能让 clang 忽略您输入的内容,不匹配的 globbing 将发送未扩展的结果(因为没有可扩展的内容)。要关闭默认的 globbing 以便没有匹配项会导致空匹配项:

shopt -s nullglob

再次开启

shopt -u nullglob