yao*_*ohu 4 c visual-studio-code clangd
描述:
\n我使用clangd作为语言服务器,在 vscode 中使用 CMake 进行 c/c++ 编码。
\n然而,我遇到了一些烦人的错误,这些错误一直困扰着我。
\nforehead/include.h\' file not found clang(pp_file_not_found)\n
错误再现:
\n我有一个名为的目录include,如下所示:
.\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 CMakeLists.txt\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 forehead\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 include.h\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 graph\n\xe2\x94\x82 \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 graph.h\n\xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 list\n\xe2\x94\x82 \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 linklist.h\n...\nRun Code Online (Sandbox Code Playgroud)\n在 中linklist.h,clangd 工作正常,没有错误或警告,我可以使用以下命令跳转到include.h文件gd:
#include <forehead/include.h>\nRun Code Online (Sandbox Code Playgroud)\n但是,clangd 中的完全相同的行graph.h不断给我错误:forehead/include.h\' file not found clang(pp_file_not_found),阻止我跳转到该文件,每个关键字或函数都include.h被 clangd 视为错误。
环境:
\nroot/CMakeLists.txt:
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)\nRun Code Online (Sandbox Code Playgroud)\nvscode/setting.json:
"clangd.path": "/opt/homebrew/opt/llvm/bin/clangd",\n "clangd.arguments": ["--header-insertion=never"],\n "clangd.serverCompletionRanking": true,\nRun Code Online (Sandbox Code Playgroud)\n期待:
\n值得一提的是,我可以在 Vim 中导航并.o使用 CMake 成功构建可执行文件。
我厌倦了处理这个烦人的错误,每次我编写新的头文件时,它都会不断弹出。
\n(顺便说一句:这个 bug 可能会无缘无故地消失,也许是在我下次打开 VSCode 时——但是,故意重新启动 clangd 或重新加载 VSCode 窗口似乎并没有效果。
\nClangd 的工作原理是部分编译您的文件并解析 AST。对于源文件(.cpp/.c/等),它只是直接编译该文件,这应该没问题。
对于头文件,它不能直接编译它们,所以目前的方法似乎是选择一个应该与您的头文件匹配的源文件。问题是,这是基于启发式的,经常失败,在依赖项或其他地方找到无意义的文件(请参阅https://github.com/clangd/clangd/issues/519或https://github.com/clangd/clangd /问题/123)。
如果这是您的问题,您可以通过在 VSCode 上打开“clangd”语言服务器输出并查找如下行来诊断它:
ASTWorker building file e:\your\folder\forehead\include.h version 1 with command inferred from E:\somewhere\else\Include.cpp
Run Code Online (Sandbox Code Playgroud)
这非常烦人,我不认为有一个干净的方法可以解决它..除了可能将您的文件和一些匹配的 .cpp 文件重命名为更独特的东西,比如旁边forehead_include.h有一个相关的?forehead.cpp否则,类似的名称include.h可能会与其他地方的随机文件配对。
编辑:我在尝试包含引号和相对路径时也取得了一些部分成功,例如#include "../forehead/include.h"
| 归档时间: |
|
| 查看次数: |
5993 次 |
| 最近记录: |