首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何配置clangd以查找缺少的外部头文件?

如何配置clangd以查找缺少的外部头文件?
EN

Stack Overflow用户
提问于 2021-04-07 13:23:12
回答 1查看 4K关注 0票数 3

我是clang工具的新手,我正在学习c/c++。

我有一些基于使用其数据结构和构建系统( OpenFOAM)的框架的代码。我在主目录中的一个文件夹中编译了框架的库。这个框架有很多目录,这些目录将类的所有头文件作为符号链接保存在其中。我使用新病毒coc扩展作为客户端,嘎嘎声作为语言服务器。

的问题是,在我的代码clangd中找到了一些头文件,而不是全部。这种行为的原因是什么?以及如何在我的编辑器中修复它或摆脱诊断信息。

我阅读了clangd (clangd --help)提供的帮助,结果发现有一个标志,--header-insertion=<string>,如果我将<string>设置为iwyu (用于,包括您使用的内容),我可以消除这样的警告。根据帮助,我可以通过config.yaml文件夹(linux中的xdg系统)中的一个xdg文件配置clangd。问题是,如何编辑这个文件以获得上述标志的效果。我只是在文件中放置了那个标志,但是没有什么改变。基本上,我想要的是,配置clangd递归地搜索目录中的头文件,或者如果不可能的话,去掉它找不到的丢失头文件的诊断警告。

我不知道的另一件事是,如何重新启动服务器来重新读取配置。我应该终止当前进程并重新运行吗?

请随意编辑这个问题。

更多信息:

  • 操作系统: artixlinux
  • NVIM: v0.5.0-dev+1225-gbbdd00203
  • CLANGD: v11.1.0
EN

回答 1

Stack Overflow用户

发布于 2021-07-19 01:56:51

可能的解决方案是:将-DCMAKE_EXPORT_COMPILE_COMMANDS=1添加到cmake命令行,例如: cmake -D CMAKE_CXX_COMPILER=clang++ -DCMAKE_EXPORT_COMPILE_COMMANDS=1。

然后,它将生成一个compile_commands.json文件,可以由clangd自动读取。我没有看到任何关于标题的警告。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66987008

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档