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で動くのはトラップだと思いました。


この記事が気に入ったらサポートをしてみませんか?