all: a ba: echo a exit 1b: echo b start sleep 1 echo b end
当它作为make -j2运行时,我收到以下输出:
echo aecho b startaexit 1b startsleep 1make: *** [a] Error 1make: *** Waiting for unfinished jobs....echo b endb end
我们有一个很大的make文件,很容易错过错误,因为在执行结束时没有错误消息.
是否有一种方法可以在make执行结束时出现错误消息?
更新:
请参阅我的可能solution如何检查make中的退出状态.
解决方法 如果make调用的任何程序返回错误,则make的返回码不会为零.因此,在调用make之后,您可以检查返回代码以查看是否发生了错误.在bash(以及许多其他shell如zsh)上,您可以执行以下 *** 作:# make....# echo $?
如果一切正常,回声将打印0,如果不是,则打印其他内容.
您还可以从shell脚本中运行检查:
makeif [ $? -eq 0 ]; then echo "Everything OK"else echo "Something went wrong!"fi
如果您需要确切的错误消息,最简单的方法是将输出从make重定向到某个文件,如果执行失败则将grep重定向到错误.
但我通常这样做的方法是并行运行make并使用-j1重新执行它,如果出现问题所以我会得到一个干净的错误消息.我想这可以使用上面的技术放入shell脚本中.
总结以上是内存溢出为你收集整理的linux – 运行并行make时出错全部内容,希望文章能够帮你解决linux – 运行并行make时出错所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)