c - Syntastic C make 检查器不报告错误

标签 c vim syntastic

我正在编写 C 代码,最初使用的是 gcc 检查器。 C文件中报告错误。报告了许多无关紧要的错误,例如,由于检查器中的 gcc 命令行上没有包含目录开关。因为我们使用的是 icc,并且设置 makefile 中已设置的所有参数感觉很麻烦,所以我决定改用 make 检查器。

切换到 make 检查器后,我没有得到任何结果。查看make.vim中的makeprg命令,它是make -sk。我意识到我们的 makefile 没有设置为进行语法检查,因此我创建了一个名为 syntax_check 的新目标,其中添加了 -fsyntax-only-c 标志。然后,我将 make.vim makeprg 命令更改为 make -sk clean syntax-check 以便运行适当的目标。

当我保存文件时,我在另一个窗口中观看了 top 并看到构建正在进行。但是,我仍然没有收到任何错误。我的意思是,我没有看到指示没有错误的行的绿色侧边栏。运行 :Errors 不会显示位置列表。

有什么想法吗?我对如何查看语法错误中生成的错误的理解是否正确(很可能是这样)?

作为这里问题的旁注,我也在 Syntastic github 上提出了这个问题。页here.

最佳答案

事实证明errorformat对于处理icc是错误的。当然,这是完全有道理的。

到目前为止我得到的 icc 的 errorformat 是:

let errorformat = '%W%f(%l): %tarning #%n: %m,%E%f(%l): %trror: %m'

当我发现此格式未涵盖的错误或发现我需要不同的格式时,我将添加更多内容。

关于c - Syntastic C make 检查器不报告错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14991366/

相关文章:

C编程: Creating substring

linux - vim:删除命令行中不匹配的行

linux - 在 Linux 上高效编辑超大文件顶部附近的内容

vim - Syntastic 和 Python 模式在一起?

c - 如果重复则添加字母 C

c++ - 错误 : lvalue required as left operand of assignment, 我收到此错误什么是左值和右值以及如何删除此错误

vim - 如何在 Vim 中将多行合并为一行?

c++ - Syntastic 提示文件丢失

haskell - GHC-mod 在错误的目录中查找设置文件

c - 如何在 C 中分配和声明结构数组的 3D?