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

标签 c++ c cmake makefile

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

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

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

最佳答案

为了让它在 Fedora 上工作(我看不出有任何理由它不能在其他 Linux 发行版上工作),我是这样一步步做到的:

快速说明:您可能需要使用 sudo yum install clang-develsudo 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)使用 CocInstall coc-clangd在 vim 或 nvim 中,这是一种获得类似于 ccls 的编程方式。

关于c++ - 如何在Linux上构建CCLS(在Fedora上执行)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71810868/

相关文章:

c - 追加节点后双链表崩溃

macos - CMake IN_LIST关键字的行为貌似不正确

c++ - Qt + CMake + VC++ 生成命令提示符

c++ - ARM架构中C函数如何返回大小超过一个字的值

c++ - 更改静态库的包含路径

有人可以解释一下这一行吗

c - 我使用代码块编写了一个单线程程序,但在任务管理器中它显示该程序正在使用 2 个线程?

c++ - CMake:如何在 visual studio 环境中将模式相关的编译标志传递给 nvcc

c++ - 为什么 unique_ptr 析构函数的异常会终止程序?

c++ - std::span 默认构造函数的当前标准规范在 "Extent <= 0"上是否正确?