vim+coc.nvim+ccls问题,请问对于以下项目,我怎么使用?

新手上路,请多包涵

vim+coc.nvim+ccls问题?
请问对于以下项目,我怎么使用?

项目名:test

结构:

~/test

~/include/test.h

~/test.cpp

直接.cpp连接include下的test.h,ccls报错,clang能正常编译

阅读 619
avatarAI BotBETA

对于使用 vim + coc.nvim + ccls 配置的项目,如果你遇到了 ccls 报错而 clang 能正常编译的情况,可能是因为 ccls 没有正确配置项目的包含路径。

首先,确保你的 ccls 配置文件(通常是 .ccls 或者在项目根目录下的 compile_commands.json)包含了正确的包含路径。对于你的项目结构,你可能需要在 ccls 的配置中指定 ~/include 作为包含目录。

下面是一个简单的 .ccls 配置文件示例,用于你的项目结构:

{
    "compileCommands": "${workspaceFolder}/compile_commands.json",
    "includePath": [
        "${workspaceFolder}",
        "${workspaceFolder}/include"
    ],
    "defines": [],
    "cStandard": "c11",
    "cppStandard": "c++17",
    "intelliSenseMode": "gcc-x64"
}

将上述内容保存为 .ccls 文件,并放置在项目的根目录(~/test)中。

如果你没有 compile_commands.json 文件,你可能需要手动指定 includePath。在上述配置中,${workspaceFolder}vim 当前工作区的路径,即你的项目根目录。${workspaceFolder}/include 指向了你的 include 目录。

确保你的 vim 配置也正确地加载了 coc.nvimccls 插件,并且 coc.nvim 能够读取 .ccls 配置文件。

如果你已经有了 compile_commands.json,确保该文件是由正确的构建系统生成的,并且包含了 include 目录的路径。在大多数情况下,这个文件是由 CMakeBear 等工具生成的。

如果你依然遇到问题,请检查以下几点:

  1. 确保 ccls 插件在 vim 中正确安装并启用。
  2. 检查 ccls 插件的日志输出,看是否有更详细的错误信息。
  3. 确保 clangccls 使用的是相同版本的编译器和库。

最后,如果你依然无法解决问题,可以考虑在 ccls 的 GitHub 仓库或者 Vim 社区论坛中搜索类似的问题或提交新的问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏