仅列出发生编译错误的文件

List only files where compilation errors happened

我想要一个发生编译错误且没有重复的文件列表。像这样:

/home/luizromario/project/src/foo.cpp
/home/luizromario/project/src/bar.cpp

我正在使用 Emacs 的编译模式 运行 gcc。有什么方法可以通过 gcc 本身或通过 Emacs 实现吗?


编辑:我 运行宁 make 使用 -k0 选项,所以编译过程已经尽可能地继续进行。我的目标是创建一个文件列表,我需要通过这些文件进行一些小的调整,以便编译成功。我已经知道编译错误是什么(我将一种特定方法标记为 [[deprecated]]),所以我不需要任何诊断。

在寻找一些想法后1,这是我发现对我有用的东西:

more compilation-out | grep "error:" | sed 's/:.*//' | sort | uniq

(在 Emacs2 上有几个选项可以做到这一点)。