我在工作中使用SCons构建项目,尝试解析来自GCC的文本输出,以便为每个目标制作所有编译器警告的汇总报告。因为我们的构建脚本非常长,控制台上有很多文本输出。我已经在谷歌和这个网站上搜索了很长时间,但我找不到SCons内置的方法来完成这个任务。我尝试按照这个示例将整个stdout和stderr流重定向到文件,但只捕获了SCons本身的输出,而没有任何调用的工具的输出。我的下一个想法是找到SCons编译要发送给GCC的参数的位置,并在参数字符串的末尾添加重定向。阅读文档后,我发现构造变量
我希望能够避免这种情况,并尽可能地将所有内容包含在SCons中。输出也不一定要输出到文件中,只要我可以访问并解析并在构建结束时保存到文件中即可保存在任何地方。我已经搜寻了很久但没有找到任何有用的信息,所以我不知道还该怎么试。我相信我不是第一个想做这种事情的人。
CCCOM
和CXXCOM
包含用于编译的命令行。然而,当我在SConstruct中添加下面的行时,SCons执行的命令行没有任何变化。baseEnv['CCCOM'] += " 2> gcc-c-output.txt"
baseEnv['CXXCOM'] += " 2> gcc-cxx-output.txt"
有一个可行的方法是将整个SCons命令的stderr流重定向:
scons 2> stderr.txt
我希望能够避免这种情况,并尽可能地将所有内容包含在SCons中。输出也不一定要输出到文件中,只要我可以访问并解析并在构建结束时保存到文件中即可保存在任何地方。我已经搜寻了很久但没有找到任何有用的信息,所以我不知道还该怎么试。我相信我不是第一个想做这种事情的人。