2013-02-04 2 views
2

make으로 컴파일하려고하면 error: 'for' loop initial declaration used outside C99 mode이 표시됩니다. 나는GCC 오류 : 'for'루프 초기 선언이 C99 모드 외부에서 사용되었습니다.

Put -std=c99 in the compilation line: gcc -std=c99 foo.c -o foo

문제는 내가 make이를 지정하는 방법을 몰라라는 wiki을 발견했다. Makefile을 열어 CC = gcc을 찾은 다음 결과가없는 CC = gcc -std=c99으로 변경했습니다. 어떤 아이디어?

+1

은 아마'CFLAGS' 변수에'-std = c99'을 추가? –

+1

'for' 루프를 수정할 수도 있습니다! –

+0

'Makefile'을 편집 한 후에'make'를 다시 실행 했습니까? –

답변

9

Makefile 맨 위에 CFLAGS = -std = c99를 입력하십시오.

C99를 사용하지 않고 오류를 제거하려면 for 루프가있는 블록의 맨 위에 반복기 변수를 선언하면됩니다. 대신

:

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

} 

사용 :

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

} 
+0

고마워! CFLAGS는 작동하지 않았지만 for 루프를 변경하여 해결했습니다. – Michael

+0

CFLAGS가 효과가 있어야합니다. makefile 파일을 다시 확인하고 make를 다시 실행하십시오. Make를 사용하지 않고 파일을 컴파일하려고 시도 할 수도 있습니다. – JohnTortugo

관련 문제