Kompiliere C ++ 14-Code mit g ++
Bin ich mit g++ 4.8.4 auf Ubuntu 14.04 LTS. Wenn Sie versuchen, zu kompilieren mit "- std=c++14', bekomme ich diesen Fehler:
g++: error unrecognized command line option '-std=c++14'
Kompilieren mit "- std=c++11 - ' funktioniert gut, also ich bin mir nicht sicher, was Los ist. Hat g++ wirklich keine Unterstützung für c++14 noch? Bin ich mit einem falschen command line option?
Habe ich "sudo apt-get install g++", das sollte automatisch die neueste version abrufen, ist das korrekt?
Kommentar zu dem Problem
Sie müssen verwenden Sie
-std=c++1y
geändert in -std=c++14
ich denke, für 5.2 Werden Sie besser aktualisieren Sie Ihre GCC compiler-4,9 oder 5.
InformationsquelleAutor der Frage Silverlan | 2015-08-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für
gcc 4.8.4
müssen Sie-std=c++1y
in späteren Versionen, sieht aus wie ab5.2
können Sie-std=c++14
.Wenn wir uns den gcc online-Dokumente wir finden die Bedienungsanleitungen für jede gcc-version, und wir können sehen, indem Sie auf Dialekt Optionen für 4.9.3 unter der GCC 4.9.3 manuelle es sagt:
Also bis
4.9.3
Sie hatten-std=c++1y
während der gcc 5.2 Optionen sagen:Es ist mir nicht klar, warum dies so ist, aufgeführt unter
Options Controlling C Dialect
aber das ist, wie die Dokumente werden derzeit organisiert.InformationsquelleAutor der Antwort Shafik Yaghmour
Den
-std=c++14
- flag wird nicht unterstützt, auf GCC 4.8. Wenn Sie möchten, verwenden Sie C++14 features, die Sie benötigen zum kompilieren mit-std=c++1y
. Mit godbolt.org es scheint, dass die earilest-version unterstützen-std=c++14
ist GCC 4.9.0 oder Klappern-3.5.0InformationsquelleAutor der Antwort NathanOliver
G++ unterstützt C++14 sowohl über
-std=c++14
und-std=c++1y
. Letzteres war der gemeinsame name für die Standards, bevor es bekannt war, in welchem Jahr es veröffentlicht werden würde. In älteren Versionen (einschließlich yours) nur das letztere angenommen, da das Jahr der Veröffentlichung war noch nicht bekannt, Wann diese Versionen wurden veröffentlicht.Es installiert die neueste verfügbare version in den Ubuntu-repositories, nicht die neueste version, die vorhanden ist.
Die neueste GCC-version ist 5.2.
InformationsquelleAutor der Antwort sepp2k