Emacs-ccls:名称空间“ std”中没有名为“ filesystem”的成员

时间:2020-01-06 18:36:43

标签: c++ emacs c++17 archlinux flycheck

Archlinux用户使用Emacs作为具有以下设置的C ++ IDE:company / flycheck / lsp-ui / ccls

我正在尝试使用c ++ 17中的filesystem库供个人使用,但是我无法摆脱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

这里是问题的屏幕截图。 coutfilePath的错误是我猜的第一个错误的后果,因为总体而言一切都很好

Screenshot

有人知道如何解决问题吗?

0 个答案:

没有答案