我使用的是 Linux Mint,并且使用 Clang Complete 中的 makefile 安装了 clang_complete,但它不起作用。当我打开cpp文件时,出现错误消息:
Loading libclang failed, completion won't be available. Consider setting g:clang_library_path
我已经对这个主题做了一些研究,并试图找到 libclang.so 文件将
g:clang_library_path= '...'
放入我的 vimrc 中,但我找不到该文件,所以我无法在我的 vimrc 中定义路径。
$ find / -name libclang -type f 2> /dev/null
不返回任何内容。
如何使 clang_complete 工作?
您可能在
libclang.so.1
或类似的地方有 /usr/lib/x86_64-unknown-linux
。在任何库路径中创建一个名为 libclang.so
的符号链接可以解决问题(至少对我来说)。
cd /usr/lib/x86_64-unknown-linux
ln -s libclang.so.1 libclang.so
您需要安装libclang。在我的 Ubuntu 系统上,它位于“libclang1”包中。 Clang 编译器和 libclang 位于不同的包中。
我在 Ubuntu 20.04.3 LTS 中遇到了这个问题:
Loading libclang failed, completion won't be available. Are you sure '/usr/lib/x86_64-linux-gnu/libclang-6.0.so.1' contains libclang?
我用以下方法修复了它:
安装libclang
sudo apt install clang
在.vimrc中添加以下内容以使用最新安装的libclang
let g:clang_library_path = '/usr/lib/x86_64-linux-gnu/libclang-10.so.1'
如果需要,调整“libclang-10.so.1”以使用已安装的 clang 版本。
此时您应该能够很好地使用 Vim。
在$clang_complete/plugin/libclang.py中有这样一段代码:
debug = int(vim.eval("g:clang_debug")) == 1
因此使用
let g:clang_debug=1
来启用 clang 调试。
对我来说,错误是:
/lib64/libstdc++.so.6: version 'GLIBCCC_3.x.xx' not found
将
LD_LIBRARY_PATH
和 PKG_CONFIG_PATH
设置为第三个 libstdc++ 将解决此问题。
我将此答案更新至 2024 年。
首先,你必须安装 clang。
sudo apt install clang1
然后,您必须将当前目录更改为:
cd /usr/lib/x86_64-linux-gnu/
并将每个文件放入目录中,过滤您可能需要的文件:
ls -ls | grep libcl
出现一些文件,例如
libclang-16.so.1
然后,您必须创建一个具有正确名称的符号链接
sudo ln -s libclang-16.so.1 libclang-16.so