【发布时间】:2020-11-21 05:01:22
【问题描述】:
虽然 clang 的文档说版本 10.0.1 使用 c++11,但我正在尝试使用 clang 编译器编译 c++ 程序,而 clang 编译器明确需要 -std=c++11 标志才能使用 c++11 版本进行编译。否则会导致代码错误。
【问题讨论】:
标签: macos c++11 clang++ llvm-clang compiler-flags
虽然 clang 的文档说版本 10.0.1 使用 c++11,但我正在尝试使用 clang 编译器编译 c++ 程序,而 clang 编译器明确需要 -std=c++11 标志才能使用 c++11 版本进行编译。否则会导致代码错误。
【问题讨论】:
标签: macos c++11 clang++ llvm-clang compiler-flags
文档可能意味着新的 XCode 项目默认将这些 std=c++11 标志隐藏在其配置中。这并不一定意味着命令行clang++ 可执行文件将其用作默认值。
你可以创建一个别名,例如
alias clang++="clang++ -std=c++11"
为临时命令行使用规避此问题。在实际项目中,无论如何您都必须维护构建设置和编译器标志,因此添加所需的 C++ 标准标志应该是一项简单的任务。
【讨论】: