[C++] cc1plus:error:無法識別的命令行選項“-std = c ++ 11”with g ++


Answers

海灣合作委員會網站引用:

C ++ 11特性可作為GCC Subversion版本庫的主乾和GCC 4.3及更高版本中的“mainline”GCC編譯器的一部分提供。 要啟用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

C ++ 11功能的可用性僅適用於版本> = 4.3的版本。

Question

我正在嘗試使用g++-std=c++11c++0x標誌進行編譯。

但是,我得到這個錯誤

cc1plus: error: unrecognized command line option "-std=c++11"

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.



我也有同樣的錯誤,使用-D標誌編譯它,試試這個:

g ++ -Dstd = c ++ 11