[c++] cc1plus:錯誤:使用g ++無法識別的命令行選項“-std = c ++ 11”



Answers

引自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。

所以你可能會使用不支持-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