GNU Make отказывается найти объектный файл для ссылки - PullRequest
0 голосов
/ 31 марта 2012

Я новичок в программировании на Си. Я использую Eclipse в Win7 x64 с MinGW GCC. У меня есть следующий простой make-файл:

CC = gcc
CFLAGS = -ansi -pedantic-errors -Wall -Werror
PROGRAMS = test01 test02 test03 test04 test05 runner 

all: $(PROGRAMS)

test%: test%.o main-code.o utilities.o
    $(CC) -o $@ $< main-code.o utilities.o

runner.o: runner.c main-code.h main-code-b.h utilities.h 
    $(CC) $(CFLAGS) -c runner.c

main-code.o: main-code.c main-code.h main-code-b.h
    $(CC) $(CFLAGS) -c main-code.c

test%.o: test%.c main-code.c main-code.h main-code-b.h utilities.h
    $(CC) $(CFLAGS) -c $< main-code.c

clean: 
    rm -f main-code.o runner.o

utilities.o предварительно скомпилирован, а utilities.c отсутствует. utilities.o находится в том же каталоге, что и make-файл.

Проблема в том, что каждый раз, когда make all запускается, он выдает ошибку на utilities.o и сообщает utilities.o: file not recognized: File format not recognized

utilities.o был создан из другого make-файла и перемещен в этот каталог. Определяемые им функции используются бегуном и тестовыми программами.

...