语法 C 配置文件
Syntastic C configuration file
试图将包含路径添加到 Syntastic(3.6.0-106;Vim 7.3),以阻止它在第一个包含它找不到时给出致命错误,我试过了创建一个 .syntastic_c_config
文件。没有太多关于它应该如何工作的信息,但那里有参考资料,我按照他们的例子:
-I/path/to/include
-I/you/get/the/idea
-L/some/library
-lfoo
-lbar
-DHAVE_SOME_FLAG
-pedantic
-Wall
-std=c99
也就是说,每行一个编译器参数。
这具有消除几乎所有错误检查的效果,除非我用 :SynasticCheck
强制它——在这一点上,它似乎有点 小 位更好,但不完全是我期望的那样。但是,无论哪种方式,如果我 :echo g:syntastic_c_config_file
(或我期望设置的任何其他选项), Vim 只会给我一个未定义的变量警告。
我显然做错了根本性的错误,但我不确定是什么!
事实证明,Syntastic 将在不显式设置相应变量的情况下获取配置文件。此外,配置文件的内容不会传递到任何 syntastic_c_*
变量中,但仍会传递到对 gcc
的调用中。 Syntastic 也很聪明,可以回溯查找配置文件(例如,它会向上层级直到找到它,因此您可以将 .syntastic_c_config
保留在项目根目录中)。
至于失败的原因,调试日志显示我的编译器忽略了库标志(-L/some/path
和 -lfoo
),这阻止了 Syntastic 进行任何进一步的语法检查。从我的配置文件中删除这些行解决了问题。
这是一个旧的 post,但我偶然发现这里是为了寻找同一问题的答案。看起来 Syntastic 已经发生了很大的变化。 OP 上面列出的文档不再有效。当前(截至 2020 年 7 月 18 日)文档位于:https://github.com/vim-syntastic/syntastic/blob/master/doc/syntastic-checkers.txt
要向 'gcc' 检查器添加包含路径,您需要创建一个包含包含目录的文件,每行一个,前面加上“-I”。例如,在 /home/user/.syntastic_c_config_file 添加:
-I/usr/include/glib-2.0/include
-I/usr/include/boost
然后在你的 {vimrc} 文件中(通常是 ~/.vimrc),添加一行:
let g:syntastic_c_config_file='/home/user/.syntastic_c_config_file'
Syntastic 现在变得更加强大,并且在上面的链接文档中包含许多选项。
试图将包含路径添加到 Syntastic(3.6.0-106;Vim 7.3),以阻止它在第一个包含它找不到时给出致命错误,我试过了创建一个 .syntastic_c_config
文件。没有太多关于它应该如何工作的信息,但那里有参考资料,我按照他们的例子:
-I/path/to/include
-I/you/get/the/idea
-L/some/library
-lfoo
-lbar
-DHAVE_SOME_FLAG
-pedantic
-Wall
-std=c99
也就是说,每行一个编译器参数。
这具有消除几乎所有错误检查的效果,除非我用 :SynasticCheck
强制它——在这一点上,它似乎有点 小 位更好,但不完全是我期望的那样。但是,无论哪种方式,如果我 :echo g:syntastic_c_config_file
(或我期望设置的任何其他选项), Vim 只会给我一个未定义的变量警告。
我显然做错了根本性的错误,但我不确定是什么!
事实证明,Syntastic 将在不显式设置相应变量的情况下获取配置文件。此外,配置文件的内容不会传递到任何 syntastic_c_*
变量中,但仍会传递到对 gcc
的调用中。 Syntastic 也很聪明,可以回溯查找配置文件(例如,它会向上层级直到找到它,因此您可以将 .syntastic_c_config
保留在项目根目录中)。
至于失败的原因,调试日志显示我的编译器忽略了库标志(-L/some/path
和 -lfoo
),这阻止了 Syntastic 进行任何进一步的语法检查。从我的配置文件中删除这些行解决了问题。
这是一个旧的 post,但我偶然发现这里是为了寻找同一问题的答案。看起来 Syntastic 已经发生了很大的变化。 OP 上面列出的文档不再有效。当前(截至 2020 年 7 月 18 日)文档位于:https://github.com/vim-syntastic/syntastic/blob/master/doc/syntastic-checkers.txt
要向 'gcc' 检查器添加包含路径,您需要创建一个包含包含目录的文件,每行一个,前面加上“-I”。例如,在 /home/user/.syntastic_c_config_file 添加:
-I/usr/include/glib-2.0/include
-I/usr/include/boost
然后在你的 {vimrc} 文件中(通常是 ~/.vimrc),添加一行:
let g:syntastic_c_config_file='/home/user/.syntastic_c_config_file'
Syntastic 现在变得更加强大,并且在上面的链接文档中包含许多选项。