首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >windows makefile中的cl选项会接受-std=c++11标志吗?

windows makefile中的cl选项会接受-std=c++11标志吗?
EN

Stack Overflow用户
提问于 2019-01-17 16:09:41
回答 2查看 1.8K关注 0票数 2

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

按照以下步骤复制问题。

  1. 打开VS2017的Developer命令提示符
  2. 编写任何简单的c++代码并使用它进行编译,然后我们可以看到警告
代码语言:javascript
运行
复制
   cl <filename>.cpp /std=c++11 

这是否意味着VS2017默认支持c++11,因此cl选项省略了c++11标志(或),cl.exe是否还会抛出警告?

有谁能澄清一下这个问题吗?

谢谢,

哈里

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-01-17 16:14:42

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

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

票数 5
EN

Stack Overflow用户

发布于 2019-01-17 16:14:53

通过查看MSVC 2017的cl.exe /?输出,我发现:

代码语言:javascript
运行
复制
/std:<c++14|c++17|c++latest> C++ standard version
    c++14 – ISO/IEC 14882:2014 (default)
    c++17 – ISO/IEC 14882:2017
    c++latest – latest draft standard (feature set subject to change)

看来:

  • 在严格的C++11兼容性方面没有开关。
  • 正确的语法是/std:...,而不是-std=...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54239927

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档