Я много раз пытался использовать CMake для создания ccls, и я почти дал, поэтому, если у кого-то есть способ сделать это, это было бы очень полезно.
Я использую Fedora Linux и использую репозиторий для получения ccls, поскольку готовые двоичные файлы не работают.
Любая помощь будет оценена по достоинству. Спасибо.
Чтобы заставить его работать в Fedora (я не вижу причин, по которым он не должен работать в других дистрибутивах Linux), я сделал это шаг за шагом:
Краткое примечание: вы можете использовать sudo yum install clang-devel
и sudo yum install llvm-devel
, поскольку они потенциально содержат необходимые зависимости. Также убедитесь, что вы загрузили другие вещи, которые вам понадобятся, как указано в вики ccls.
Сначала я использовал 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 для программирования.