0

我正在使用MSVS2013。在Visual Studio 2013中使用自定义编译器(makefile项目)我如何获得VS来解析警告

我已经设置了一个自定义生成文件C++项目,基本上调用了我编写来调用我的编译器的批处理文件。

我的编译器的输出会在格式警告:

>>> Warning <code> "c:\some\file\path\somefile.h" Line <num>(x,y): warning comment

>>> Warning <code> "somefile.c" Line <num>(x,y): warning comment

注:第二个没有整个路径,只是文件名(不知道为什么),但该文件在项目源文件列表中 - 所以它应该知道它。

当我双击警告线visual studio不打开该行上的文件。我假设这是因为它不理解警告行的语法来解析它。

所以我的问题是我怎样才能得到MSVS2013正确解析警告?

+1

请参阅https://stackoverflow.com/questions/42955711/showing-errors-from-a-build-time-tool-with-source-file-line,你需要匹配VS预计的格式 – stijn

+0

@stijn ...啊。 ...我想这意味着我需要在某个地方写一些代码:( –

+0

好吧,除非有人想出另一种方式,例如Exec任务有一个CustomWarningRegularExpression属性,所以这可能是有用的,但我不认为Makefile项目支持它,但也许它可以被覆盖 – stijn

回答

0

最后,写一点awk脚本来解决这个问题最简单(可以应用于任何编译器)。我对awk的了解并不是很好,所以我花了很多时间试图弄清楚 - 最终发布了另一个问题来帮助完成它,所以请参阅下面的链接(答案),以获得体面的实现,这很容易实现修改任何编译器输出:

gawk script answer here

相关问题