Я попытался написать Makefile, но сделать скажи:Марка говорит использовать зЬй C99, даже если я использую его
$ make -f makefile
cc -c -o source.o source.c
source.c: In function ‘main’:
source.c:5:5: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(unsigned u = 0; u < 5; u++)
^
source.c:5:5: note: use option -std=c99 or -std=gnu99 to compile your code
make: *** [source.o] Errore 1
source.c моя программа:
#include <stdio.h>
int main(void)
{
for (unsigned u = 0; u < 5; u++)
printf("%u", u);
int *p;
if (p == NULL)
return -1;
return 0;
}
Makefile мой Makefile:
all: file
file: source.o
gcc -std=c99 -g -Wall source.o -o file
source.o: source.c
gcc -c -std=c99 -g -Wall source.c
Почему это говорит м e использовать c99 (или gnu99), даже если я поместил этот аргумент в make-файл?
Если посмотреть на выходе из 'make' команд, вы видите, что Безразлично» t на самом деле соответствует отображаемому «makefile». Вы уверены, что используете правильный 'makefile'? –
Да, тот, который я опубликовал. – sbam
@JoachimPileborg Я использовал 4 пробела вместо вкладки. – sbam