小编Cer*_*que的帖子

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

Archlinux 用户使用 Emacs 作为 C++ IDE,设置如下:company/flycheck/lsp-ui/ccls

我正在尝试将filesystemc++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;
}
Run Code Online (Sandbox Code Playgroud)

使用此命令编译和运行时完全没问题:

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

输出 : "sample.cpp"

但是 Emacs 中仍然存在“错误”,这有点烦人。我尝试添加.ccls具有以下内容的文件,但这并不能解决问题。

clang++
%cpp -std=c++17        ; Also tried with gnu++17
Run Code Online (Sandbox Code Playgroud)

这是问题的屏幕截图。错误coutfilePath是第一个的后果我猜是因为总的来说一切都很好

截屏

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

c++ emacs archlinux flycheck c++17

5
推荐指数
1
解决办法
809
查看次数

标签 统计

archlinux ×1

c++ ×1

c++17 ×1

emacs ×1

flycheck ×1