2011-01-24 46 views
2

我有簡單的問題,我編譯標誌C程序-j我可以讓Make安排錯誤消息並行模式打印嗎?

make -j4 

我怎樣才能使所有的四個過程寫錯誤消息相繼(一個接一個的錯誤)?目前,當我開始make -j4時,出現錯誤,然後出現一些©mpilation命令,然後再次出現一些錯誤。它不可讀!有什麼可以幫助我嗎?

zile.c: In function 'zile': 
zile.c:12: error: 'milojko' undeclared (first use in this function) 

zile.c:12: error: (Each undeclared identifier is reported only once 
zile.c:12: error: for each function it appears in.) 

zile.c:13: error: 'djole' undeclared (first use in this function) 
make: *** [zile.o] Error 1 
/opt/toolchains/arm-uclibceabi-9260-big/usr/bin/arm-linux-gcc -I/usr/xenomai/include -D_GNU_SOURCE -D_REENTRANT -Wall -pipe -D__XENO__ -I/opt/toolchains/arm-uclibceabi-9260-big/usr/include/ -O3 -Wall -c -o testSine.o testSine.c 
testSine.c:7: error: expected ')' before 't' 

make: *** [testSine.o] Error 1 

我要的是這樣的:

error from process one 
error from process four 
error from process three 
error from process two 

,而不會錯誤交融的命令。

+0

看起來你有一些依賴問題,你可以發佈你的Makefile? – 2011-01-24 11:11:44

+0

@Tim:不,它看起來不像依賴問題。 – 2011-01-24 11:18:04

回答

3

沒有。這一點沒有真正的幫助。如您所知,-j選項可根據需要啓動儘可能多的不同進程來加快編譯(前提是依賴關係允許)。

這些進程完全不同步。 make只需控制何時啓動進程,並等待它們完成。 make不會同步所有這些不同進程的輸出,因爲它會減慢每個編譯過程,所以它不是很理想。

要避免打印命令,可以在調用make時使用-s(或--silent)選項。但是它不會阻止不同流程中出現的各種編輯輸出交織在一起。

相關問題