我已经多次尝试使用 CMake 来构建 ccls,并且我已经给出了,所以如果有人有办法做到这一点,那将会非常有帮助。
我使用的是 Fedora Linux,并且我正在使用存储库来获取 ccls,因为预构建的二进制文件不起作用。
如有任何帮助,我们将不胜感激。谢谢。
最佳答案
为了让它在 Fedora 上工作(我看不出有任何理由它不能在其他 Linux 发行版上工作),我是这样一步步做到的:
快速说明:您可能需要使用 sudo yum install clang-devel
和sudo yum install llvm-devel
因为它们可能拥有所需的依赖项。另请确保您已按照 ccls wiki 上的说明下载了所需的其他内容。
首先我用了
git clone --depth=1 --recursive https://github.com/MaskRay/ccls
将存储库克隆到文件夹中。其次,我进入 ccls 文件夹并使用
cmake .
。它构建了所需的东西。第三,我使用了
make
命令来完全构建存储库并生成 ccls 可执行文件。然后我在主目录中创建了一个 bin 目录,并将 ccls 可执行文件移入其中。
然后我进入 .bashrc 将 ccls 添加到系统路径并添加行
export PATH="/home/$USER/bin:$PATH"
到 bashrc 的最后一行。然后退出文件并使用source ~/.bashrc
强制重置最后我将 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/