【问题标题】:Clangd not finding standard headersClangd 找不到标准标题
【发布时间】:2020-05-22 18:47:44
【问题描述】:

我正在使用 Atom 编写 C++ 代码并安装了 llvm 套件以使用使用 clangd 语言服务器的Atom package。它似乎正在工作,除了 clangd 似乎没有找到标准头文件(例如 iostream、算法)。我使用预构建的 Windows 二进制文件安装了 llvm。 Atom 诊断窗格中显示的错误是“找不到‘算法’文件”。

有没有人知道我可以做些什么来让clangd找到标准标题?

【问题讨论】:

  • 欢迎来到 SO。参见“MCVE”、“Writing The Perfect Question”和“How To s The Smart Way”。你让我们想象你做了什么,这是不公平的,因为我们不擅长猜测。寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。
  • @theTinMan,抱歉,这可能不是表达问题的最佳方式,但这并不是真正的代码调试问题,所以我不确定如何包含 MWE。基本上,我安装了 Atom 包,我使用他们预先构建的二进制文件安装了 llvm 工具集,当我在 Atom 中打开任何 C++ 文件时,上面提到的 Atom 包给出了我在问题中列出的错误消息。

标签: c++ clang atom-editor clangd


【解决方案1】:

多亏了“How to use clang with mingw-w64 headers on windows”,我才弄明白。

使用 llvm 预构建的二进制文件,clangd 会查找我没有的 MSVC 库;我使用 MinGW 编译器。

要让 clangd 在 MinGW 标准头文件所在的适当位置查找头文件,我需要包含编译器选项:

--target x86_64-pc-windows-gnu

在 compiler_flags.txt 或 compile_commands.json 文件中。

【讨论】:

    猜你喜欢
    • 2022-07-10
    • 1970-01-01
    • 1970-01-01
    • 2019-07-11
    • 2015-01-05
    • 2021-07-08
    • 2014-05-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多