我在windows中编写了示例Makefile,它使用visual studio 2017中的cl选项。它导致如下警告: cl :命令行警告D9002 :忽略未知选项'-std=c++11‘
按照以下步骤复制问题。
cl <filename>.cpp /std=c++11
这是否意味着VS2017默认支持c++11,因此cl选项省略了c++11标志(或),cl.exe是否还会抛出警告?
有谁能澄清一下这个问题吗?
谢谢,
哈里
发布于 2019-01-17 16:14:42
见这里。cl
只接受/std:c++14
、/std:c++17
和/std:c++latest
选项。
默认情况下,C++11功能已经启用。
发布于 2019-01-17 16:14:53
通过查看MSVC 2017的cl.exe /?
输出,我发现:
/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)
看来:
/std:...
,而不是-std=...
https://stackoverflow.com/questions/54239927
复制相似问题