Мой make-файл производит файлы 5/7 .o.Есть идеи, почему он отказывается делать entry.o и productiondb.o?Примечание: в файле присутствуют и entry.cpp, и production.cpp.
asgmt01: showreport.o entry.o reporter.o productiondb.o stationdata.o yeardata.o resourcecount.o entry.h reporter.h productiondb.h stationdata.h yeardata.h resourcecount.h
g++ showreport.o entry.o reporter.o productiondb.o stationdata.o yeardata.o resourcecount.o -g -Wall -o asgmt01
entry.o: entry.h
reporter.o: reporter.h
productiondb.o: productiondb.h
stationdata.o: stationdata.h
yeardata.o: yeardata.h
resourcecount.o: resourcecount.h
.PHONY: x
x: #cleanthe directory
rm -f *.o asgmt01
Должен компилироваться, но я получаю такой результат:
make
g ++ -c -o showreport.o showreport.cpp
g ++ -c -o reporter.o reporter.cpp
g ++ -c -o stationdata.o stationdata.cpp
g ++-c -o yeardata.o yeardata.cpp
g ++ -c -o resourcecount.o resourcecount.cpp
g ++ showreport.o entry.o reporter.o productiondb.o stationdata.o yeardata.o resourcecount.o -g -Wall -o asgmt01
g ++: ошибка: entry.o: нет такого файла или каталога
g ++: ошибка: productiondb.o: такого файла или каталога нет
make: *** [asgmt01] Ошибка 1
update:
asgmt01: productiondb.o stationdata.o yeardata.o resourcecount.o entry.o reporter.o showreport.o productiondb.h stationdata.h yeardata.h resourcecount.h entry.h reporter.h
g++ productiondb.o stationdata.o yeardata.o resourcecount.o entry.o reporter.o showreport.o -g -Wall -o asgmt01
productiondb.o: productiondb.cpp productiondb.h
g++ -g productiondb.cpp productiondb.h -o productiondb.o
stationdata.o: stationdata.cpp stationdata.h
g++ -g stationdata.cpp stationdata.h -o stationdata.o
yeardata.o: yeardata.cpp yeardata.h
g++ -g yeardata.cpp yeardata.h -o yeardata.o
resourcecount.o: resourcecount.cpp resourcecount.h
g++ -g resourcecount.cpp resourcecount.h -o resourcecount.o
entry.o: entry.cpp entry.h
g++ -g entry.cpp entry.h -o entry.o
reporter.o: reporter.cpp reporter.h
g++ -g reporter.cpp reporter.h -o reporter.o
showreport.o: showreport.cpp
g++ -g showreport.cpp -o showreport.o
.PHONY: x
x: #cleanthe directory
rm -f *.o asgmt01
результат:
g ++ -g productiondb.cpp productiondb.h -o productiondb.o
/ usr / lib /../ lib64 / crt1.o: в функции `_start ':
/ home / abuild / rpmbuild / BUILD / glibc-2.18 / csu /../ sysdeps / x86_64/start.S:118: неопределенная ссылка на `main '
/ tmp / cc95fNHG.o: в функции` productiondb :: productiondb () ':
/ home / student / matthew.cole3 / cs261 / production / productiondb.cpp: 9: неопределенная ссылка на `StationData :: StationData ()'
/home/student/matthew.cole3/cs261/production/productiondb.cpp:9: неопределенная ссылка на `StationData :: ~ StationData () '
/ tmp / cc95fNHG.o: в функции` productiondb ::~ productiondb () ':
/ home / student / matthew.cole3 / cs261 / production / productiondb.cpp: 17: неопределенная ссылка на `StationData :: ~ StationData ()'
/tmp / cc95fNHG.o: В функции `productiondb :: addData (entry const &) ':
/ home / student / matthew.cole3 / cs261 / production / productiondb.cpp: 24: неопределенная ссылка на` StationData:: add (entry const &) '
/ home / student / matthew.cole3 / cs261 / production / productiondb.cpp: 27: неопределенная ссылка на `StationData :: add (entry const &)'
/ home / student / matthew.cole3 / cs261 / production / productiondb.cpp: 30: неопределенная ссылка на `StationData :: add (entry const &) '
/ home / student/matthew.cole3/cs261/production/productiondb.cpp:33: неопределенная ссылка на `StationData :: add (entry const &) '
/ home / student / matthew.cole3 / cs261 / production / productiondb.cpp: 36: неопределенная ссылка на `StationData :: add (entry const &) '
/ tmp / cc95fNHG.o: /home/student/matthew.cole3/cs261/production/productiondb.cpp: 39: больше не определеноссылки на `StationData :: add (entry const &) 'следуют
collect2: error: ld вернул 1 состояние выхода
make: *** [productiondb.o] Ошибка 1