我有一个简单的问题,我使用flag -j
编译一个C程序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 :(得分:3)
不。在这一点上没有真正的帮助。如您所知,-j
选项启动了许多不同的进程来加强编译(假设依赖项允许)。
这些进程完全不同步。 make
只是控制它何时启动进程,并等待它们完成。 make
不会同步所有这些不同进程的输出,它甚至不可取,因为它会减慢每个编译过程。
为避免打印命令,您可以在调用make时使用-s
(或--silent
)选项。但是,它不会阻止在不同进程中发生的各种编译的输出交错。