2011-12-02 24 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

相關問題