2013-12-05 5 views
2

У меня есть очень простой make-файл. Все, что я хочу сделать в этом makefile, - это скомпилировать мои файлы и создать исполняемый файл для моего теста. У меня есть следующие файлы:Makefile дает мне ошибку - нет такого файла или каталога

  • test.cpp - основная функция
  • BaseClass.cpp
  • BaseClass.h - заголовочный файл для базового класса
  • DerivedClass.cpp - Inherits базового класса
  • DerivedClass.h - заголовочный файл для производного класса

Вот Makefile у меня есть:

all: Test 

Test: BaseClass.o DerivedClass.o Test.o 
    g++ -o BaseClass.o DerivedClass.o Test.o Test 

Test.o: Test.cpp BaseClass.h DerivedClass.h 
    g++ -c Test.cpp 

Package.o: BaseClass.cpp BaseClass.h 
    g++ -c BaseClass.cpp 

DerivedClass.o: DerivedClass.cpp DerivedClass.h 
    g++ -c DerivedClass.cpp 

clean: 
    rm -rf *.o 

Я никогда не создавал файл makefile для 5 файлов. Я могу создать один с 3 довольно легко, но я не знаю, что случилось. Ошибка я получаю:

Теста: Нет Фукс файла или каталог

EDIT: Спасибо, Джо! Вот и все. Довольно глупый контроль над моей.

ответ

6

Test должен быть аргумент -o:

Test: BaseClass.o DerivedClass.o Test.o 
    g++ -o Test BaseClass.o DerivedClass.o Test.o 

Примечание Я переехал Test от конца линии, чтобы сразу после -o.

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