如何在Linux上构建CCLS(在Fedora上执行)?

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

我已经多次尝试使用 CMake 来构建 ccls,并且我已经给出了,所以如果有人有办法做到这一点,那将会非常有帮助。

我使用的是 Fedora Linux,我正在使用存储库来获取 ccls,因为预构建的二进制文件不起作用。

如有任何帮助,我们将不胜感激。谢谢。

c++ c cmake makefile
2个回答
2
投票

为了让它在 Fedora 上工作(我不明白为什么它不能在其他 Linux 发行版上工作),这就是我一步一步做到的:

快速说明:您可能需要使用

sudo yum install clang-devel
sudo yum install llvm-devel
,因为它们可能包含所需的依赖项。另请确保您已按照 ccls wiki 上的说明下载了所需的其他内容。

  1. 首先,我使用

    git clone --depth=1 --recursive https://github.com/MaskRay/ccls
    将存储库克隆到文件夹中。

  2. 其次,我进入 ccls 文件夹并使用

    cmake .
    。它构建了所需的东西。

  3. 第三,我使用

    make
    命令来完全构建存储库并生成 ccls 可执行文件。

  4. 然后我在主目录中创建了一个 bin 目录,并将 ccls 可执行文件移入其中。

  5. 然后我进入 .bashrc 将 ccls 添加到系统路径,并将行

    export PATH="/home/$USER/bin:$PATH"
    添加到 bashrc 的最后一行。然后退出文件并使用
    source ~/.bashrc
    强制重置

  6. 最后我将 ccls 语言服务器设置添加到 coc 配置中:

{
  "languageserver": {
    "ccls": {
      "command": "ccls",
      "filetypes": ["c", "cpp", "cuda", "objc", "objcpp"],
      "rootPatterns": [".ccls-root", "compile_commands.json"],
      "initializationOptions": {
        "cache": {
          "directory": ".ccls-cache"
        },
        "client": {
          "snippetSupport": true
        }
      }
    }
  }
}

或者,您可以(如果您使用的是 coc)在 vim 或 nvim 中使用

CocInstall coc-clangd
,这是一种获得类似于 ccls 的编程方式。


0
投票

我从 OpenSuse 移植了一个 rpm 包。您可以在 copr alexfanqi 的 copr 存储库 上找到它。

© www.soinside.com 2019 - 2024. All rights reserved.