我使用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
.
http://www.gnu.org/s/hello/manual/make/Error-Messages.html[foo] Error NN '
这些错误根本不是真正的错误。它们意味着作为配方的一部分调用的程序返回一个非0错误代码(' error NN '),这使得解释失败,或者它以其他一些异常方式退出(带有某种类型的信号)。参见食谱中的错误。
如果消息没有附加** *,则子进程失败,但makefile中的规则以-特殊字符为前缀,因此make忽略该错误。
所以你的一个命令返回一个非零错误代码。
命令退出时出现错误。不是echo
,是其他的。检查他们。