什么是品牌:*** [测试]错误10表示什么?

时间:2011-08-09 14:49:40

标签: c linux makefile

我使用Makefile运行一个程序,它给了我一个奇怪的错误,虽然成功执行了。 make: *** [test] Error 10

这是我的Makefile代码

30 
31 test:
32         @ echo
33         @ echo "Testing Electric Fence."
34         @ echo "After the last test, it should print that the test has PASSED."
35         ./eftest
36         ./tstheap 3072
37         @ echo
38         @ echo "Starting test for time-interval-measurement."
39        export EF_ERRTRACK_START=3; export EF_ERRTRACK_END=5; ./time-interval-measurement-test
40         @ echo
41         @ echo "Electric Fence confidence test PASSED." 
42         @ echo

执行时:

Time interval measurement test: PASSED
make: *** [test] Error 10
-bash-3.2# make test

3 个答案:

答案 0 :(得分:3)

要解决此问题(如果您无法修改二进制文件的(返回/退出)行为),请使用

./exec || /bin/true

答案 1 :(得分:1)

  

[foo]错误NN'

     

这些错误根本不是真正的错误。它们意味着作为配方的一部分调用的程序返回非0错误代码('错误NN'),这使得解释为失败,或者以某种其他异常方式退出(具有某种类型的信号)。见Errors In Recipes.

     

如果消息没有附加** *,则子进程失败,但makefile中的规则以 - 特殊字符为前缀,因此忽略错误。

http://www.gnu.org/s/hello/manual/make/Error-Messages.html

因此,您的一个命令返回非零错误代码。

答案 2 :(得分:0)

您的一个命令退出时出错。不是echo,其他是{{1}}。检查一下。