2014-09-29 11 views
0

Я пытаюсь создать make-файл с двумя исполняемыми файлами. Сначала мне нужно называться «recurse», и ему нужен только main.cpp. Другой должен быть назван usestack, и он требует usestack.cpp, Vector.h, stack.h и queue.h. Я получаю команду не найдена в строках 2, 4, 7, когда я запускаю makefile в unix, но он все еще работает. Кто-нибудь знает, что не так? Вот мой makefile:Попытка сделать make-файл с 2 исполняемыми файлами

all: recurse Stack 

recurse: 
    g++ -o recurse main.cpp 

Stack: 
    g++ -o Stack usestack.cpp Vector.h queue.h stack.h 

Спасибо за помощь.

+1

Как вы ссылаетесь на Make? И какую версию Make вы используете ('make -v')? – Beta

ответ

0

Я думаю, что вы, вероятно, имели в виду следующее:

all: recurse Stack 

recurse: main.cpp 
<TAB>g++ -o recurse main.cpp 

Stack: usestack.cpp Vector.h queue.h stack.h 
<TAB>g++ -o Stack -I. usestack.cpp 

После двоеточия (:) вы поставите имена файлов, при изменении которых, вызывают исполняемый файл (на следующей строке) должен быть восстановлен - т.е. зависимостей.

После того, как вы создали свой Makefile, вызовите его:

make 

Кстати, вы можете проверить, где ваш make установлены, набрав:

which make 
/usr/local/bin/make 

Если, случайно, вы находятся на Mac, вам необходимо установить Xcode CLI Tools, который вы можете бесплатно получить от Appstore.

+0

создал новый make-файл с указанным выше кодом, но все же получал его, когда я вводил makefile в командной строке. makefile: строка 1: all :: команда не найден makefile: строка 3: recurse :: команда не найдена makefile: строка 6: Stack :: команда не найдена – CoderRightInTheProgram

+0

и я действительно удалил ваш «» и использовал вкладку, просто что бы ты знал – CoderRightInTheProgram

Смежные вопросы