Как собрать CCLS на Linux (выполняется на Fedora)?

Я много раз пытался использовать CMake для создания ccls, и я почти дал, поэтому, если у кого-то есть способ сделать это, это было бы очень полезно.

Я использую Fedora Linux и использую репозиторий для получения ccls, поскольку готовые двоичные файлы не работают.

Любая помощь будет оценена по достоинству. Спасибо.

Формы c голосовым вводом в React с помощью Speechly
Формы c голосовым вводом в React с помощью Speechly
Пытались ли вы когда-нибудь заполнить веб-форму в области электронной коммерции, которая требует много кликов и выбора? Вас попросят заполнить дату,...
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Стилизация и валидация html-формы без использования JavaScript (только HTML/CSS)
Будучи разработчиком веб-приложений, легко впасть в заблуждение, считая, что приложение без JavaScript не имеет права на жизнь. Нам становится удобно...
Flatpickr: простой модуль календаря для вашего приложения на React
Flatpickr: простой модуль календаря для вашего приложения на React
Если вы ищете пакет для быстрой интеграции календаря с выбором даты в ваше приложения, то библиотека Flatpickr отлично справится с этой задачей....
В чем разница между Promise и Observable?
В чем разница между Promise и Observable?
Разберитесь в этом вопросе, и вы значительно повысите уровень своей компетенции.
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Что такое cURL в PHP? Встроенные функции и пример GET запроса
Клиент для URL-адресов, cURL, позволяет взаимодействовать с множеством различных серверов по множеству различных протоколов с синтаксисом URL.
Четыре эффективных способа центрирования блочных элементов в CSS
Четыре эффективных способа центрирования блочных элементов в CSS
У каждого из нас бывали случаи, когда нам нужно отцентрировать блочный элемент, но мы не знаем, как это сделать. Даже если мы реализуем какой-то...
1
0
16
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Чтобы заставить его работать в Fedora (я не вижу причин, по которым он не должен работать в других дистрибутивах Linux), я сделал это шаг за шагом:

Краткое примечание: вы можете использовать sudo yum install clang-devel и sudo yum install llvm-devel, поскольку они потенциально содержат необходимые зависимости. Также убедитесь, что вы загрузили другие вещи, которые вам понадобятся, как указано в вики ccls.

  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 для программирования.

Другие вопросы по теме