GCC错误:在C99模式之外使用'for'循环初始声明

时间:2013-02-04 15:41:48

标签: linux gcc makefile

当我尝试使用error: 'for' loop initial declaration used outside C99 mode进行编译时,我收到了make。我找到了wiki

  

在编译行中添加-std = c99:gcc -std=c99 foo.c -o foo

问题是我不知道如何在make中指定它。我打开 Makefile ,找到了CC = gcc并将其更改为CC = gcc -std=c99但没有结果。有什么想法吗?

1 个答案:

答案 0 :(得分:9)

将CFLAGS = -std = c99放在Makefile的顶部。

要在不使用C99的情况下删除错误,只需要在块的顶部声明你的迭代器变量,for循环就在里面。

而不是:

for (int i = 0; i < count; i++)
{

}

使用:

int i;
//other code
for (i = 0; i < count; i++) 
{

}