我已经安装了插件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 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?vim是用python特性编译的。所以vim --version是gets:
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 有人能帮助解决这个问题吗?
发布于 2013-06-10 13:24:54
这里有两个问题。
g:clang_auto_user_options提供的值无效。clang_complete文档提到的“路径”并不意味着应该在选项字符串中写入路径;它指的是使用Vim的内置'path'选项来提供-I标志列表。取而代之的是使用set g:clang_user_options = "-I/usr/include/c++/4.6",它直接传递给clang。
旁白:错误中的getopts#是因为clang_complete试图将您的-I...字符串解释为选项源函数名称的一部分。(文档中的{anything}子句。)getopts#-I/usr/include/c++/4.6#getops()中的-不是有效的Vimscript函数字符,因此它被截断了there.
g:clang_library_path目录中直接包含libclang.dylib或libclang.so (例如,在本例中为/usr/lib/clang/libclang.so )。并非所有的clang发行版都提供了libclang共享库,因此您可能需要自己编译它。
https://stackoverflow.com/questions/16178053
复制相似问题