web-dev-qa-db-ja.com

g ++が標準14を認識しない(-std = c ++ 14)

私はUbuntu 14.04を使用していて、g ++ 4.8.5(Ubuntu 4.8.5-2ubuntu1〜14.04.1)を使用しています。 -std=c++14パラメータを使用しようとすると、g ++は次のように出力します:unrecognized command line option '-std=c++14'

apt-get updateおよびapt-get upgradeを実行している場合でも、問題は解決しません。何が起こっているのですか?

7
Adrien Neveu

GCCから website

最終的なISO C++ 14標準が最近公開されたため、GCCのサポートは実験的です

C++ 14サポートを有効にするには、コマンドラインパラメーター-std = c ++ 14をg ++コマンドラインに追加します。または、C++ 14拡張機能に加えてGNU拡張機能を有効にするには、-std = gnu ++ 14を追加します。

あなたの場合、-std=gnu14オプションを試してみて、機能することを確認しましたか?

C++ 14の機能はGCC 4.8から利用できるようになったので、あなたのケースではこれをある程度サポートする必要があります。

G ++のmanページから、私はこれを見つけました:

c ++ 1y2014年に暫定的に計画されたISO C++標準の次のリビジョン。サポートは非​​常に実験的であり、ほぼ確実に互換性のない方法で変更されます将来のリリース。

gnu ++ 1yGNU方言-std = c ++ 1yの方言。サポートは非​​常に実験的であり、ほぼもちろん、将来のリリースでは互換性のない方法で変更されます。

したがって、使用するオプションはc++14ではなくc++1yではないようです。試してみてください。


ps:私はあなたよりも新しいバージョンを使用しており、これらはg++のオプションです

$  g++ --version
g++ (GCC) 4.9.1 20140922 (Red Hat 4.9.1-10)
6
fduff