Почему make-файл каждый раз перекомпилирует класс? - PullRequest
0 голосов
/ 27 мая 2011

Вот мой make-файл

all: main.o fileparam.o
        g++ -g $(LIBPATH) $(LIBS)  file_parameters.o main.o -o test
main.o: main.cpp
        g++ -g -Wall $(INCPATH) main.cpp -c

fileparam.o: file_parameters.cpp file_parameters.h
        g++ -g -Wall file_parameters.cpp -c

$ (LIBPATH) $ (LIBS) указывает на включаемые библиотеки, а $ (INCPATH) указывает на другие включаемые файлы

По какой-то причинеКаждый раз, когда я создаю программу, я перекомпилирую файл file_parameters.o, и мне было интересно, где я облажался.Спасибо!

Редактировать: он не перекомпилирует main.o каждый раз

Ответы [ 2 ]

2 голосов
/ 27 мая 2011

Это:

fileparam.o: file_parameters.cpp file_parameters.h
        g++ -g -Wall file_parameters.cpp -c

должно быть:

file_parameters.o: file_parameters.cpp file_parameters.h
        g++ -g -Wall file_parameters.cpp -c

Также вызов вашего выходного файла test может вызвать путаницу - измените его на mytest.

1 голос
/ 27 мая 2011

Это потому, что ваша цель, fileparam.o, не генерируется правилами ... вместо этого вы генерируете file_parameters.o.make видит, что цель не существует, поэтому она должна создать ее.

...