如何在syntastic vim插件中添加c ++ 11支持?

Car*_*iro 53 vim c++11 syntastic

我在我的c ++ 11项目中使用了syntastic.当我在vim中编辑,并保存(:w)时,syntastic插件会在每个初始化列表{}和每个循环上给出错误,这些循环显然是缺少的c ++ 11特性.

我用病原体安装了合成器.

以下是我在初始化列表和每个循环上获得的错误的两个示例(c ++ 11编译正常):

初始化列表上的错误 每个循环的错误

Car*_*iro 97

事实证明,合成器的C++ linter(语法检查器)有很多可以在.vimrc上设置的选项(不幸的是,我希望它是项目特定的,比如.clang_complete解决方案).

要启用c ++ 11标准并使用带有clang的libc ++库(这是我的项目正在使用的),我将以下行添加到〜/ .vimrc中

let g:syntastic_cpp_compiler = 'clang++'
let g:syntastic_cpp_compiler_options = ' -std=c++11 -stdlib=libc++'
Run Code Online (Sandbox Code Playgroud)

它现在很漂亮.

  • 这似乎也适用于g ++. (4认同)
  • 对我来说,我必须删除`-stdlib = libc ++`才能使它工作 (2认同)