Clangd LSP 在 dsound.h 中显示未知类型名称“接口”

问题描述 投票:0回答:0

我刚开始开发 Win32 应用程序,我正在 Neovim 中进行编辑。我正在运行 WSL 并使用 clangd 作为我的 LSP。为了编译我正在使用 Microsoft cl 并且它正在构建二进制文件。

我正在重构一些代码,当我将我的 #include <dsound.h> 从它的原始 main.cpp 移动到一个新的头文件 (windows_sound.h) 时,我遇到了一个奇怪的 LSP 错误。我的 LSP 给我以下投诉:clang: In included file: unknown type name 'interface'.

即使它是文件中唯一的东西(不包含守卫),也会出现此错误。但是,如果我将包含移动到一个空的 .cpp (windows_sound.cpp) 中,LSP 不会给我任何错误。知道发生了什么事吗?

我的.clangd:

CompileFlags:
    Add:
        - "--target=x86_64-w64-windows-gnu"
        - "-std=c++20"
        - "-fms-extensions"
        - "Wall"
        - "-isystem/usr/share/mingw-w64/include/"

我的clangd版本:15.0.6

nvim 版本:0.8.0-1210

我在配置中做的唯一额外的事情是我将 clangd 命令修改为:

cmd =
{
    "clangd",
    "--header-insertion=never",
},
c++ winapi neovim directsound clangd
© www.soinside.com 2019 - 2024. All rights reserved.