2013-06-28 2 views
1

Я только что начал учиться на жестком пути, и я нахожусь на Упражнении № 2.Учиться C Жесткий путь Упражнение 2

ссылка здесь: http://c.learncodethehardway.org/book/ex2.html

Инструкции сделать файл только с этим в нем:

CFLAGS=-Wall -g 

    clean: 
     rm -f ex1 

Так что я создал и спас, что, как Makefile.c, однако, после запуска его как указанный в моем компиляторе (MinGW), я получаю эту ошибку:

$make clean 
cc makefile.c -o makefile 
makefile.c:3:1: warning: data definition has no type or storage class [enabled by default] 
makefile.c:3:9: error: 'Wall' undeclared here (not in a function) 
makefile.c:3:15: error: 'g' undeclared here (not in a function) 
makefile.c:5:1: error expected ',' or ';' before 'clean' 
cc Makefile.c -o Makefile 
Makefile.c:3:1: warning: data definition has no type or storage class [enabled by default] 
Makefile.c:3:9: error: 'Wall' undeclared here (not in a function) 
Makefile.c:3:15: error: 'g' undeclared here (not in a function) 
Makefile.c:5:1: error expected ',' or ';' before 'clean' 
make: *** No rule to make target 'clean'. Stop. 

Любые идеи, что я делаю неправильно и/или как я могу это исправить? Благодаря!

ответ

0

Вы используете символы табуляции вместо пространства? Веб-страница имеет пробелы, но в make-файле нужны вкладки. Обратите внимание на комментарий автора после кода makefile.

3

Поздно, но ваш Makefile должен просто быть назван «Makefile»

Makefile не исходный код программы C, а набор инструкций для инструмента Makefile, который привыкает, когда вы набираете «сделать Foo ».

1

Makefile можно назвать "Makefile" или "Makefile"

По словам человека марка:

"Normally you should call your makefile either makefile or Makefile. (We recommend Makefile because it appears prominently near the beginning of a directory listing, right near other important files such as README.) The first name checked, GNUmakefile, is not recommended for most makefiles."