Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vim 叮当声插件问题_Vim_Clang_Clang Complete - Fatal编程技术网

Vim 叮当声插件问题

Vim 叮当声插件问题,vim,clang,clang-complete,Vim,Clang,Clang Complete,我已经安装了插件。我将这些设置放在我的.vimrc中: let g:clang_use_library = 1 let g:clang_auto_select = 0 let g:clang_complete_auto = 1 let g:clang_complete_copen = 1 let g:clang_complete_macros = 1 let g:clang_complete_patters = 1 set

我已经安装了插件。我将这些设置放在我的.vimrc中:

   let g:clang_use_library      = 1
   let g:clang_auto_select      = 0
   let g:clang_complete_auto    = 1
   let g:clang_complete_copen   = 1
   let g:clang_complete_macros  = 1
   let g:clang_complete_patters = 1
   set completeopt=menu,longest

   let g:clang_library_path = '/usr/lib/clang'
   "let g:clang_library_path = '/usr/lib/llvm-2.9'

   let g:clang_auto_user_options = "-I/usr/include/c++/4.6, .clang_complete"
   let g:clang_snippets = 1
   let g:clang_snippets_engine = 'clang_complete'
每次打开.cpp文件时,我都会收到以下错误消息:

Error detected while processing function <SNR>15_ClangCompleteInit..LoadUserOptions:
line   20:
E121: Undefined variable: getopts#
Loading libclang failed, falling back to clang executable.  Are you sure '/usr/bin/clang' contains libclang?

有人能帮忙解决这个问题吗?

这里有两个问题

  • 您为
    g:clang\u auto\u user\u options
    提供的值无效。clang_complete文档提到的“路径”并不意味着路径应该写在选项字符串中;它指的是使用Vim内置的
    'path'
    选项来提供
    -I
    标志的列表

    使用
    set g:clang\u user\u options=“-I/usr/include/c++/4.6”
    ,这会直接传递给clang

    旁白:出现错误的
    getopts#
    是因为clang#u complete试图将
    -I..
    字符串解释为选项源函数名称的一部分。(文档中的
    {anything}
    子句。)
    getopts#-I/usr/include/c++/4.6#getops()
    中的
    -
    不是有效的Vimscript函数字符,因此它在那里被截断

  • clang_complete要求您指定的
    g:clang_library_路径
    目录直接包含
    libclang.dylib
    libclang.so
    (例如,在您的情况下,
    /usr/lib/clang/libclang.so

    并非所有的clang发行版都提供libclang共享库,因此您可能需要自己编译它


  • Vim版本和安装方法?像这样的事情也很可能是因为你。此外,你可能会有更好的运气。如果你这样做了,请在这里发布答案,如果它在Github上得到解决。
    VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Feb 28 2012 13:50:08)
    Included patches: 1-154
    
     ... +python -python3 ...  
    
    Compilation: gcc -c -I. -Iproto -DHAVE_CONFIG_H -DFEAT_GUI_ATHENA     -Wall -g -O2 -D_FORTIFY_SOURCE=1     -I/usr/include/tcl8.5  -D_REENTRANT=1  -D_THREAD_SAFE=1  -D_LARGEFILE64_SOURCE=1  
    Linking: gcc   -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic  -Wl,-E  -Wl,-Bsymbolic-functions -Wl,--as-needed -o vim -lXaw -lXmu -lXext -lXt -lSM -lICE -lXpm -lXt -lX11 -lXdmcp -lSM -lICE -ldl -lm -ltinfo -lnsl  -lselinux  -lacl -lattr -lgpm -ldl  -L/usr/lib -llua5.1  -Wl,-E  -fstack-protector -L/usr/local/lib  -L/usr/lib/perl/5.12/CORE -lperl -ldl -lm -lpthread -lcrypt -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions  -L/usr/lib -ltcl8.5 -ldl -lpthread -lieee -lm -lruby1.8 -lpthread -lrt -ldl -lcrypt -lm