gpt4 book ai didi

vim - Clang插件问题

转载 作者:行者123 更新时间:2023-12-04 21:06:32 28 4
gpt4 key购买 nike

我已经安装了插件 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 得到:
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

任何人都可以帮助解决问题吗?

最佳答案

你在这里有两个问题。

  • 您为 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 函数字符,因此它在那里被截断。
  • clang_complete 期望 g:clang_library_path您指定的目录包含 libclang.dyliblibclang.so直接在它里面(例如 /usr/lib/clang/libclang.so 在你的情况下)。

    并非所有的 clang 发行版都提供 libclang 共享库,因此您可能需要自己编译它。
  • 关于vim - Clang插件问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16178053/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com