gpt4 book ai didi

makefile - 如何将 Clang 诊断保存到文件中?

转载 作者:行者123 更新时间:2023-12-05 00:33:30 25 4
gpt4 key购买 nike

我正在编写一个 web 服务器,主要是为了练习,并决定开始学习 make 和 makefile。我的目标是自动构建到我的 vps,使用 Clang/LLVM 构建软件,并将诊断保存到文本文件中,以便脚本提交到我的电子邮件地址。我似乎无法实现的是将诊断信息保存到我的文件中。

虽然我的 Clang 成功构建并生成了诊断信息,并且我的 makefile 似乎可以工作,但我未能从 makefile 内部和命令行重定向诊断信息。

我的makefile(工作正常,但稍作修改以适应保存结果的需要):

# Makefile to build Ironman HTTP Server
# We will use the clang frontend from the llvm compiler infrastructure
# for building

# --- targets
Ironman :
clang -o Ironman src/Ironman.c > report

# --- remove binary and executable files
clean:
rm -f Ironman
rm -f report

我怀疑(我在这里可能大错特错)发生这种情况是因为 clang 并不是真的 返回 诊断,它只是打印它们。我不知道是否是这种情况,Clang 用户指南没有提出类似的建议。

[编辑]:我玩了一下 Clang,看到在成功编译时它返回 0。我测试它的方法是:
$ clang <source_file.c>
$ echo $?
0

这表明我的理论可能是正确的,这使事情变得复杂:-\

有人能指出我正确的方向吗?

最佳答案

Clang 与任何其他程序一样,向 stderr 输出诊断信息。您可以像这样将 stderr 重定向到 stdout:

Ironman : 
clang -o Ironman src/Ironman.c > report 2>&1

关于makefile - 如何将 Clang 诊断保存到文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12053698/

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