繁体   English   中英

无法识别的命令行选项'-std = c ++ 11'

[英]unrecognized command line option '-std=c++11'

即使没有启用-std=c++11选项, CodeBlocks仍然给我这个错误(我检查了所有设置和项目文件)。

有没有一种方法可以禁用此功能?

这是我最好的猜测。 用于构建项目的编译器是gcc。 您在此编译器的全局设置中设置了-std=c++11 ,但是安装的gcc版本太旧,无法识别该选项。

要在Code :: Blocks IDE中进行检查:

  • 导航设置->编译器

  • 从标记为“ 选定的编译器”的下拉菜单中,选择GNU GCC编译器

  • 在下面的选项卡面板上,选择编译器设置->编译器标志

  • 从标有“类别”的下拉菜单中,选择<All categories>

  • 向下查看编译器选项的复选框列表,直到看到:

让g ++遵循C ++ 11 ISO C ++语言标准[-std = c ++ 11]

  • 如果该复选框被选中,那可能是您的问题。 取消选中它,单击确定,然后尝试重建您的项目。

如果这样可以解决问题,则应考虑将gcc升级到支持-std=c++11选项的版本(> = 4.7),因为您随后将支持最新的C ++标准的C ++语言和库功能。

如果不能这样做,则可能会发现-std=c++0x选项对于编译器是可接受的。 如果可行,它将为您的编译器发布时可操作的C ++ 11标准的某些临时版本提供支持。

与上述情况相比,不太可能出现的情况是,用于生成项目的编译器不是gcc,而是比您通过复制GCC的全局配置在Code :: Blocks中设置的其他和非命令行兼容的编译器。 -std-c++11选项已设置。 在这种情况下,您只需要确保没有为此无法识别的编译器配置任何全局选项。

供将来参考,如果您对c ++编译器的命令行选项有疑问,请说出它是什么编译器以及什么版本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM