2011-01-24 18 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)选项。但是它不会阻止不同流程中出现的各种编辑输出交织在一起。

相关问题