gpt4 book ai didi

makefile - 如何启用多行日志而不是单行进度日志

转载 作者:行者123 更新时间:2023-12-03 23:17:40 25 4
gpt4 key购买 nike

这是我的 cmake 的示例输出:

2017/10/27 07:51:46 Platform overridden to 'RHEL5_64'
-- cmake version: 3.2.3
-- Configuring done
-- Generating done
-- Build files have been written to: /local/home/etc
[3/3] Linking CXX shared library libsample_z.so



最后一行实际上显示了进度(如 [3/3] 所示),因此就地覆盖;所以我看不到所有日志(即消息对应于 [1/3] [2/3] )。我希望 cmake 打印所有日志以保留在自己的行上,例如:

Linking CXX shared library libsample_x.so
Linking CXX shared library libsample_y.so
Linking CXX shared library libsample_z.so



在 cmake 中可以做什么来记录这样的日志?

最佳答案

ninja 的“问题”就是,它automatically detects如果您从一个 shell 运行,它可以在线替换进度输出。并且 - 截至 2017 年 10 月 - 没有命令行开关或环境变量来改变这种行为。

由于它检查控制台的输出缓冲区,我发现将 Windows 控制台上的输出管道传输到其他地方确实会再次显示多行输出。所以我使用了以下管道命令:

cmake -G "Ninja" ..
cmake --build . > CON

注意:只有在需要 stdout 的脚本中没有此调用时,这才有效。再次输出自身以进行管道输送,例如到日志文件中。这意味着输出不再在 stdout在这个管道命令之后。

关于makefile - 如何启用多行日志而不是单行进度日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46970462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com