2013-08-07 3 views
0

В моем make-файле я получаю следующую ошибку при запуске 'make tests': make: * Нет правила для создания цели GenRangeTreeTester', needed by tests '. Стоп.Ошибка Makefile и gcc

tests: GenRangeTreeTester libGenRangeTree.a 
    gcc -Wall -L. -lGenRangeTree Teacher.o Manager.o -o GenRangeTreeTester 
    ./GenRangeTreeTester 
.PHONY: tests 

Но на самом деле GenRangeTreeTester и libGenRangeTree.a не существует, так почему это не работает ССАГПЗ вызов?

Спасибо.

ответ

0

Линия tests: GenRangeTreeTester libGenRangeTree.a средства, которые нацелены на testsзависит отGenRangeTreeTester. Файл должен присутствовать с этим именем для следующих ниже команд.

Измените Makefile так:

tests: GenRangeTreeTester 
    ./GenRangeTreeTester 

GenRangeTreeTester: libGenRangeTree.a 
    gcc -Wall -L. -lGenRangeTree Teacher.o Manager.o -o GenRangeTreeTester 
0

Ваше сообщение, что тесты зависят от GenRangeTreeTeset и libGenRangeTree, и make сообщает вам, что он не может найти правило сборки для GenRangeTreeTester и что он не существует.

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

Надеюсь, что это очистит вас.