我正在尝试使用g++
和-std=c++11
或c++0x
标志进行编译。
然而,我得到了这个错误
cc1plus: error: unrecognized command line option "-std=c++11"
g++ --版本
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.
发布于 2013-02-04 00:33:23
从你的G++版本来看,你很需要更新它。从G++ 4.3开始,C++11才可用。最新版本是4.7。
在G++ 4.7之前的版本中,你必须使用-std=c++0x
,对于更新的版本,你可以使用-std=c++11
。
发布于 2013-02-04 00:30:49
引用自gcc website
C++11特性作为“主线”GCC编译器的一部分,在GCC的Subversion代码库的主干中,以及在GCC 4.3和更高版本中提供。要启用C++0x支持,请将命令行参数-std=c++0x添加到g++命令行。或者,要在C++0x扩展之外启用GNU扩展,可以在g++命令行中添加-std=gnu++0x。GCC 4.7及更高版本也支持-std=c++11和-std=gnu++11。
因此,您可能使用了不支持-std=c++11
的g++版本。请尝试使用-std=c++0x
。
仅适用于版本>= 4.3的C++11功能。
发布于 2014-02-21 00:46:27
你应该试试这个
g++-4.4 -std=c++0x or g++-4.7 -std=c++0x
https://stackoverflow.com/questions/14674597
复制相似问题