[英]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.