C17でコンパイルがしたい
ぬるからです。
ある事情からC言語をC17でコンパイルする必要があったため、記載します。
コンパイラはgccを使います。
-std=
gccでは(多分他のC言語コンパイラも)-std=オプションを付けることで、C言語のバージョンが指定できます。
gcc -std=17 FileName
で解決ですね!
gcc: error: unrecognized command line option ‘-std=17’; did you mean ‘-std=c11’?
あれれ???
gccのバージョン
gccのバージョンが古いと、C17は対応していないそうです。
gcc -v --help 2> /dev/null |grep "std="
などで、gccに入っているstd=の種類を確認しますが、確かになさそうです。
gcc -v
で確認しましたが、7.4.0でした。
apt-getで最新版入れているはずなのに....。
gcc-9
私の環境では、gcc-9がver 9.xxxのgccでした。
これを使いましょう。
gcc-9 -std=17 FileName
C17でコンパイルができました。
まとめ
・ノーマルなgccが最新版ではなくて、ver 7.XXXで動くのはトラップだと思いました。
この記事が気に入ったらサポートをしてみませんか?