如何在 mac 中更改 clang 的标准标志?当前 clang 版本 10.0.1 使用 c++98 标志

how to change std flag of clang in mac? current clang version 10.0.1 is using c++98 flag

虽然 clang 的文档说版本 10.0.1 使用 c++11 但我正在尝试使用 clang 编译器编译 c++ 程序,而 clang 编译器明确需要 -std=c++11 标志才能使用 c++11 进行编译version.Otherwise 它给出了代码错误。

文档的意思可能是新的 XCode 项目在默认情况下将这些 std=c++11 标志埋在它们的配置中。这并不一定意味着命令行 clang++ 可执行文件将其用作默认值。

您可以创建别名,例如

alias clang++="clang++ -std=c++11"

为临时命令行使用规避此问题。在实际项目中,无论如何您都必须维护构建设置和编译器标志,因此添加所需的 C++ 标准标志应该是一项简单的任务。