2013-08-07 74 views
0

在我的makefile中,運行'make tests'時出現以下錯誤: make:*沒有規則使目標GenRangeTreeTester', needed by測試'。停止。Makefile和gcc錯誤

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

但實際上GenRangeTreeTester和libGenRangeTree.a不存在,所以爲什麼不運行gcc調用?

謝謝。

回答

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將不會繼續。

希望能爲你清除它。