CodeBlocks
选项, -std=c++11
也一直给我这个错误(我检查了所有设置和项目文件)。
有没有办法禁用它?
答案 0 :(得分:5)
这是我最好的猜测。您用于构建项目的编译器
是gcc。您在全局设置中设置了-std=c++11
对于这个编译器,但安装的gcc版本太旧了
认识到这个选择。
要在Code :: Blocks IDE中进行检查:
导航设置 - >编译器
从标有所选编译器的下拉菜单中,选择 GNU GCC编译器
在下面的标签面板上,选择编译器设置 - >编译器标志
从标有“类别”的下拉菜单中,选择 <All categories>
。
查看编译器选项的复选框列表,直至看到:
让g ++遵循C ++ 11 ISO C ++语言标准[-std = c ++ 11]
如果这样可以解决问题,您应该考虑将gcc升级到版本(&gt; = 4.7)
支持-std=c++11
选项,因为您将支持C ++
最新C ++标准的语言和库功能。
如果您不能这样做,您可能会发现-std=c++0x
选项是可以接受的
你的编译器。如果可行,它将为某些临时提供支持
在编译器发布时可用的C ++ 11标准版本。
不太可能出现的情况是您正在使用的编译器
构建项目不是gcc而是其他一些非命令行兼容的
通过复制GCC的全局编译器而不是你在Code :: Blocks中设置的编译器
配置,其中设置了-std-c++11
选项。在那种情况下,你只是
必须确保没有为此编译器配置全局选项
它不承认。
如果您对命令行选项有疑问,以备将来参考 一个c ++编译器,比如它是什么编译器,以及版本。