如何设置全局 Clang 标志?

How to set global Clang flags?

我在 MacOS 上使用 Clang。当我用clang++编译C++时,有没有办法指定-std=c++17而不用每次都写?是否有某种全局 clang 配置文件?

别名 c++="c++ -O2 -W -Wall -std=c++17"

您可以将类似的内容添加到您的 bashrc 或您使用的任何 shell。

另一个应该在 MacOS 上工作,在所有其他 unix 上工作的东西是在 /usr/local/bin/ 中创建一个包装脚本。假设你的 $PATH 中有它。否则问题会递归到扩展您的 PATH。

% cat >> /usr/local/bin/c++ <<EOF
#!/bin/sh
/usr/bin/c++ -O2 -W -Wall -std=c++17 "$@"
EOF
% chmod a+x /usr/local/bin/c++

cat 创建文件,chmod 使它对所有人都可执行。如果您不理解该 cat 命令,请使用您选择的文本编辑器。