好的,這是一個學校項目,我應該完成教授提供的骨架程序。這裏是提供給我的生成文件:如何修復在Dev C和Netbeans中工作的makefile,但不能在Eclipse中修復?
db: db.o students.o courses.o enrolls.o
cc db.o students.o courses.o enrolls.o -o db
db.o: db.c types.h students.h courses.h enrolls.h db.h
cc -c db.c
students.o: students.c types.h students.h
cc -c students.c
courses.o: courses.c types.h courses.h
cc -c courses.c
enrolls.o: enrolls.c types.h students.h courses.h enrolls.h
cc -c enrolls.c
現在,這在命令行(用gcc),並在開發的C++工作得很好,但是當我試圖使用NetBeans它扔了一個錯誤,說一些有關清潔命令。所以,我添加了這一行:
clean:
rm -f *.exe *.o
到文件末尾,它工作正常(在Netbeans中)。但是,它仍然不能在Eclipse CDT中使用。它給出了這樣的錯誤:
Description Resource Path Location Type
make: *** No rule to make target `all'. Stop. Course Project C/C++ Problem
所以,我嘗試添加
all:db
頂端,但隨後拋出這個錯誤:
Description Resource Path Location Type
make: *** [db] Error 1 Course Project C/C++ Problem
所以,現在我在一個失去了做什麼。我谷歌搜索,但似乎沒有任何工作。關於如何改變這個makefile的任何想法,以便它在Eclipse中工作?
這是在當前(非功能性)的形式生成文件:
all:db
db: db.o students.o courses.o enrolls.o
cc db.o students.o courses.o enrolls.o -o db
db.o: db.c types.h students.h courses.h enrolls.h db.h
cc -c db.c
students.o: students.c types.h students.h
cc -c students.c
courses.o: courses.c types.h courses.h
cc -c courses.c
enrolls.o: enrolls.c types.h students.h courses.h enrolls.h
cc -c enrolls.c
clean:
rm -f *.exe *.o
也許更好的問題是「如何獲得eclipse以產生有用的錯誤消息?」 –
我注意到在所有:和db之間沒有空格。在你的Makefile中是一樣的嗎?先嚐試從命令行make,看看它是否有效 –