让 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
我想让 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