c -什么是make: *** [test]错误10表示



我使用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

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

./exec || /bin/true

.

[foo] Error NN '

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

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

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

所以你的一个命令返回一个非零错误代码。

命令退出时出现错误。不是echo,是其他的。检查他们。

最新更新