Ich verwende g ++ 4.8.4 auf Ubuntu 14.04 LTS. Beim Versuch, mit '-std = c ++ 14' zu kompilieren, erhalte ich diesen Fehler:
g++: error unrecognized command line option '-std=c++14'
Das Kompilieren mit '-std = c ++ 11' funktioniert gut, daher bin ich mir nicht sicher, was los ist. Unterstützt g ++ C++ 14 wirklich noch nicht? Benutze ich eine falsche Befehlszeilenoption?
Ich habe "Sudo apt-get install g ++" verwendet, um automatisch die neueste Version abzurufen. Ist das richtig?
Für gcc 4.8.4
müssen Sie -std=c++1y
in späteren Versionen verwenden. Wenn Sie mit 5.2
beginnen, können Sie -std=c++14
verwenden.
Wenn Sie sich die gcc online-Dokumente ansehen, finden Sie die Handbücher für jede Version von gcc. Weitere Informationen finden Sie unter Dialect-Optionen für 4.9.3 im Handbuch GCC 4.9.3 es sagt:
"C++ 1y"
Die nächste überarbeitete Version des ISO C++ - Standards, die vorläufig für 2014 geplant ist. Der Support ist äußerst experimentell und wird sich in zukünftigen Versionen mit großer Wahrscheinlichkeit inkompatibel ändern.
Bis 4.9.3
mussten Sie -std=c++1y
verwenden, während die Optionen von gcc 5.2 Folgendes sagen:
"C++ 14" "C++ 1y"
Der ISO-C++ - Standard 2014 plus Änderungen. Der Name "c ++ 1y" ist veraltet.
Mir ist nicht klar, warum dies unter Options Controlling C Dialect
aufgeführt ist, aber so sind die Dokumente derzeit organisiert.
Das Flag -std=c++14
wird in GCC 4.8 nicht unterstützt. Wenn Sie C++ 14-Funktionen verwenden möchten, müssen Sie sie mit -std=c++1y
kompilieren. Wenn Sie godbolt.org verwenden, scheint die früheste Version, die -std=c++14
unterstützt, GCC 4.9.0 oder Clang 3.5.0
G ++ unterstützt C++ 14 sowohl über -std=c++14
als auch -std=c++1y
. Letzteres war der gebräuchliche Name für den Standard, bevor bekannt wurde, in welchem Jahr er veröffentlicht werden würde. In älteren Versionen (einschließlich Ihrer) wird nur Letzteres akzeptiert, da das Veröffentlichungsjahr zum Zeitpunkt der Veröffentlichung noch nicht bekannt war.
Ich habe "Sudo apt-get install g ++" verwendet, um automatisch die neueste Version abzurufen. Ist das richtig?
Es installiert die neueste Version, die in den Ubuntu-Repositorys verfügbar ist, nicht die neueste Version, die vorhanden ist.
Die neueste GCC-Version ist 5.2.
Folgen Sie den Anweisungen unter https://Gist.github.com/application2000/73fd6f4bf1be6600a2cf9f56315a2d91 , um die benötigte gcc-Version - gcc 5 oder gcc 6 - unter Ubuntu 14.04 einzurichten. Die Anweisungen umfassen die Konfiguration von update-alternatives
, damit Sie nach Bedarf zwischen den Versionen wechseln können.