2011-12-02 59 views
2

我想记录构建代码的每个错误。 ,所以我可以使用-k使它继续发生,甚至发生错误。如何知道使用make -k时发生的错误

但是,我是否可以知道发生了一些错误, 并且它是-k以使其继续?

我知道我可以检查一些模式错误消息,如make: ***。 但我仍然想知道我是否可以在日志中记录下如下信息: “发生错误,继续制作”当我有-k时。

谢谢。

回答

6

对于读者输出/错误报告错误。其他计算机程序可以检查它的退出状态,如果发生任何错误,它应该是非零的。如果你从shell脚本调用make,你可以做类似于

make -k || echo "BAD: ERROR(S)" 

除了改变回显到某个对你有用的东西。其他打电话的方式也有类似的选择。

+0

但是,由于我使用-k,最后一个目标可能会成功。所以我不能使用最终状态来检查,对吧? – CSJ

+2

make应该报告是否有任何错误,而不是最后一个目标是否有错误。它对我来说是这样,对你来说行为有所不同吗?如果是这样,你使用哪种制造? – hvd

+0

第一次运行该命令时,make会以“Target all”由于错误而未重新编译“以及非零退出状态结束。第二次,根本不会有任何错误:make不会尝试重新创建hello,因为hello已经存在并且比hello.c更新。如果您想知道make是否失败,请在每次致电make时记录退出状态。 – hvd