cc1plus:错误:使用g ++无法识别的命令行选项"-std = c ++ 11"

85 c++ compiler-errors g++ std c++11

我正在尝试编译使用g++-std=c++11c++0x标志.

但是,我收到此错误

cc1plus: error: unrecognized command line option "-std=c++11"
Run Code Online (Sandbox Code Playgroud)

g ++ --version

g++ (GCC) 4.1.2 20080704 (Red Hat 4.1.2-54)
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Run Code Online (Sandbox Code Playgroud)

ant*_*ijn 100

从您的G ++版本看,您需要更新它.C++ 11仅在G ++ 4.3之后才可用.最新版本是4.7.

在pre-G ++ 4.7版本中,您必须使用-std=c++0x,对于您可以使用的更新版本-std=c++11.

  • @JoeCoderGuy是的,那就是我正在使用的那个. (2认同)

ste*_*fan 14

引自gcc网站:

C++ 11特性作为GCC Subversion存储库主干和GCC 4.3及更高版本中"主线"GCC编译器的一部分提供.要启用C++ 0x支持,请将命令行参数-std = c ++ 0x添加到g ++命令行.或者,要在C++ 0x扩展之外启用GNU扩展,请将-std = gnu ++ 0x添加到g ++命令行.GCC 4.7及更高版本也支持-std = c ++ 11和-std = gnu ++ 11.

所以可能你使用的是不支持的g ++版本-std=c++11.试试吧-std=c++0x.

C++ 11功能的可用性仅适用于版本> = 4.3.