libclang.so 在哪里?

问题描述 投票:0回答:5

我使用的是 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 工作?

vim clang libclang clang-complete
5个回答
25
投票

您可能在

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

12
投票

您需要安装libclang。在我的 Ubuntu 系统上,它位于“libclang1”包中。 Clang 编译器和 libclang 位于不同的包中。


4
投票

我在 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?

我用以下方法修复了它:

  1. 安装libclang

    sudo apt install clang
    
  2. 在.vimrc中添加以下内容以使用最新安装的libclang

    let g:clang_library_path = '/usr/lib/x86_64-linux-gnu/libclang-10.so.1'
    

如果需要,调整“libclang-10.so.1”以使用已安装的 clang 版本。

此时您应该能够很好地使用 Vim。


0
投票

在$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++ 将解决此问题。


0
投票

我将此答案更新至 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
© www.soinside.com 2019 - 2024. All rights reserved.