这让我发疯。
对于并行 make 构建 (-j),您应该能够同步控制台输出。这是参考:
- GNU Make 手册:5.4.1 并行执行期间的输出 https://www.gnu.org/software/make/manual/html_node/Parallel-Output.html
我正在为 x86_64-redhat-linux-gnu 使用 GNU Make 3.82
不同步:
make -j8 all //not synchronized
产量(我在这里使用 eclipse-cdt Managedbuild):
Building file: ../dome.c
Building file: ../main.c
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"dome.d" -MT"dome.d" -o "dome.o" "../dome.c"
Invoking: GCC C Compiler
gcc -O0 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"main.d" -MT"main.d" -o "main.o" "../main.c"
Finished building: ../dome.c
Finished building: ../main.c
Building target: empty_linux
Invoking: GCC C Linker
gcc -o "empty_linux" ./dome.o ./main.o
Finished building target: empty_linux
同步尝试
make -j8 all --output-sync
产量(-O/-Oline/etc 的结果相同):
make: unrecognized option '--output-sync
Question
我到底做错了什么?
The --output-sync
选项仅适用于GNU make 4.0 http://lists.gnu.org/archive/html/make-w32/2013-10/msg00021.html。另外,根据您的情况,您应该使用:
--output-sync=target
or
-Otarget
但这不适用于 3.82 版本。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)