Windows makefile 中的 cl 选项是否接受 -std=c++11 标志?

Har*_*lla 4 makefile c++11 visual-studio-2017

我已经在 Windows 中编写了示例 Makefile,它使用 Visual Studio 2017 中的 cl 选项。它会导致如下警告 cl:命令行警告 D9002:忽略未知选项 '-std=c++11'

请按照以下步骤重现该问题。

  1. 打开 VS2017 的开发人员命令提示符
  2. 编写任何简单的 C++ 代码并使用 using 进行编译,然后我们可以看到警告
   cl <filename>.cpp /std=c++11 
Run Code Online (Sandbox Code Playgroud)

这是否意味着 VS2017 默认情况下它将支持 c++11,因此 cl 选项省略 c++11 标志(或者)还有其他东西可以通过 cl.exe 引发警告吗?

有人可以澄清这个问题吗?

谢谢,

哈里

0x5*_*453 7

这里cl只接受选项/std:c++14/std:c++17/std:c++latest

默认情况下已启用 C++11 功能。