YouCompleteMe(YCM)不建议任何格式(C11)

时间:2016-11-10 10:48:13

标签: c vim-plugin youcompleteme

我尝试设置YCM以在C中使用自动完成功能。 我跟进了manaul中描述的指令。(:help YouCompleteMe) 但它并没有为我显示任何自动填充列表。 我的ycm_extra_conf.py和调试信息中的部分标志如下所示。 (ps,当我打开C文件并输入pri时,我也发布了我的当前状态(它应该建议printf等等)。

谢谢:)

MY CURRENT STATUS

YCM DEBUG INFO

  '-std=c11',
  '-x',
  'c'
  '-isystem',
  '../BoostParts',
  '-isystem',
  '/System/Library/Frameworks/Python.framework/Headers',
  '-isystem',
  '../llvm/include',
  '-isystem',
  '../llvm/tools/clang/include',
  '-I',
  '.',
  '-I',
  './ClangCompleter',
  '-isystem',
  './tests/gmock/gtest',
  '-isystem',
  './tests/gmock/gtest/include',
  '-isystem',
  './tests/gmock',
  '-isystem',
  './tests/gmock/include',
  #C default header
  '-isystem',
  '/usr/lib/gcc/x86_64-linux-gnu',
  '-isystem',
  '/usr/lib/gcc/x86_64-linux-gnu/5/include',
  '-isystem',
  '/usr/lib/gcc/x86_64-linux-gnu/5/include-fixed',
  '-isystem',
  '/usr/local/include',
  '-isystem',
  '/usr/include',

1 个答案:

答案 0 :(得分:2)

从一开始就看:

'-std=c11',
'-x',
'c'
'-isystem',

最后两项变为c-isystem(请参阅:YcmDebug输出)。它可能会混淆编译器。我想你的意思是-c。然而,YouCompleteMe这样的标志是多余的,可以安全地省略。

P.S。 C ++头文件也会混淆C编译器,因此您需要确保提供的头文件与当前源文件类型(C或C ++)一致。

相关问题