Makefile和gcc错误

时间:2013-08-07 11:15:17

标签: makefile

在我的makefile中,我在运行' make tests'时遇到以下错误: make: * 没有规则可以进行目标GenRangeTreeTester', needed by测试'停止。

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

但实际上GenRangeTreeTester和libGenRangeTree.a并不存在,所以为什么它没有运行gcc调用?

感谢。

2 个答案:

答案 0 :(得分:0)

你告诉它测试依赖于GenRangeTreeTeset和libGenRangeTree而且make告诉你它找不到GenRangeTreeTester的构建规则并且它不存在。

它没有运行gcc,如果没有依赖项是最新的(并且实际存在:),make将不会继续。)

希望能为你清除它。

答案 1 :(得分:0)

tests: GenRangeTreeTester libGenRangeTree.a表示目标tests 取决于 GenRangeTreeTester。对于要执行的以下命令,文件必须带有该名称。

像这样更改你的Makefile:

tests: GenRangeTreeTester 
    ./GenRangeTreeTester

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