Emacs - ccls: нет члена с именем "filesystem" в пространстве имен "std" - PullRequest
3 голосов
/ 06 января 2020

Arch linux пользователь, использующий Emacs в качестве C ++ IDE со следующей настройкой: company / flycheck / lsp-ui / ccls

Я пытаюсь использовать библиотеку filesystem из c ++ 17 для личное использование, но я не могу избавиться от этой ошибки в Emacs

ccls : no member named 'filesystem' in namespace 'std'

Быстрый пример моей проблемы

#include <iostream>
#include <filesystem>

int main(int argc, char** argv) {
   std::filesystem::path filePath("./sample.cpp");
   std::cout << filePath.filename() < std::endl;
   return 0;
}

Компиляция и время выполнения полностью в порядке используя эту команду:

clang++ -std=c++17 sample.cpp

Вывод: "sample.cpp"

Но в Emacs по-прежнему присутствует «ошибка», что немного раздражает. Я попытался добавить файл .ccls со следующим содержимым, но это не решает проблему.

clang++
%cpp -std=c++17        ; Also tried with gnu++17

Вот снимок экрана проблемы. Ошибка с cout и filePath является следствием первого, я думаю, потому что в целом все хорошо

Скриншот

Кто-нибудь знает, как решить проблему

...