我想要使用编译g++
并且或者-std=c++11
或c++0x
标志。
不过,我得到这个错误
cc1plus: error: unrecognized command line option "-std=c++11"
克++ --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.
从您的G ++版本来看,你需要非常更新。 C ++ 11因为G ++ 4.3只被提供。 最新的版本是4.7。
在预G ++ 4.7版本中,你将不得不使用-std=c++0x
,对较新版本,你可以使用-std=c++11
。
从报价GCC网站 :
C ++ 11层的功能都可以在GCC的版本库中的主干和GCC 4.3和后来的“主线” GCC编译器的一部分。 要启用的C ++ 0x支持,命令行参数-std =的C ++ 0x添加到G ++命令行。 或者,为了使除了GNU扩展的C ++ 0x扩展,添加-std = GNU ++ 0x中你克++命令行。 GCC 4.7和更高版本支持-std = C ++ 11和-std = GNU ++ 11为好。
所以,可能是你使用一个版本的g ++不支持的-std=c++11
。 尝试-std=c++0x
代替。
可用性的C ++ 11个特征为版本> =仅为4.3。
你应该试试这个
g++-4.4 -std=c++0x or g++-4.7 -std=c++0x
我也得到了同样的错误,有固定它,试试这个-D标志进行编译:
克++ -Dstd = C ++ 11