cc1plus:错误:无法识别的命令行选项“-std = C ++ 11”克++(cc1plus:

2019-07-19 04:29发布

我想要使用编译g++并且或者-std=c++11c++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.

Answer 1:

从您的G ++版本来看,你需要非常更新。 C ++ 11因为G ++ 4.3只被提供。 最新的版本是4.7。

在预G ++ 4.7版本中,你将不得不使用-std=c++0x ,对较新版本,你可以使用-std=c++11



Answer 2:

从报价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。



Answer 3:

你应该试试这个

g++-4.4 -std=c++0x or g++-4.7 -std=c++0x


Answer 4:

我也得到了同样的错误,有固定它,试试这个-D标志进行编译:

克++ -Dstd = C ++ 11



文章来源: cc1plus: error: unrecognized command line option “-std=c++11” with g++