gcc コンパイルで規格を指定するとき
久々に C を書いていて、以下のような for 文を書くとコンパイルの際に怒られたので、調べてみました。 忘れないようにメモ。(ファイル名は適当です)
// hoge.c for (int i = 0; i < N; ++i) { // do something }
以下のようなエラーが。。。
$ gcc hoge.c -o hoge
hoge.c:8: error: ‘for’ loop initial declaration used outside C99 mode
解法
gcc の -std オプションを指定するといいみたいです。
$ gcc hoge.c -o hoge -std=c99
// エラー無し