如图,提示头文件缺失,并报错std为未声明标识符,但字build文件夹下已产生compile_command.json。
正常编译运行:
通过code runner 运行结果,运行结果与warning提醒数正常,
调试:调试四种方法正常,
可以正常执行至断点,并且最后输出无误。
关于llvm版本:版本无误且路径选择无误。
clangd扩展与vscode重启:已进行过vscode Reload window,且clangd插件未提示需要进行重启以运行。
compile_commands.json内容:
在尝试以上解决方法后还是出现了不应该出现的报错信息,请问如何进行修正。
和这个没关系
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
能看看 clangd 的输出吗?全选以文本形式粘贴过来。
```
粘贴过来
```
compile_commands.json 也粘贴成文本看看吧,截图不全。
compile_commands.json的内容
[
{
"directory": "C:/cpp_starter/build",
"command": "C:\msys64\clang64\bin\clang++.exe -DUNICODE -D_UNICODE -g -std=c++20 -fcolor-diagnostics -municode -Wall -Wextra -Wextra-semi -Wcast-align -Wdouble-promotion -Wformat=2 -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-noreturn -Wnon-virtual-dtor -Wnull-dereference -Wold-style-cast -Woverloaded-virtual -Wpacked -Wpedantic -Wshadow -Wno-sign-conversion -Wunused -ftemplate-backtrace-limit=0 -fconstexpr-backtrace-limit=0 -o CMakeFiles\structure_only.dir\src\example\constexpr_map.cpp.obj -c C:\cpp_starter\src\example\constexpr_map.cpp",
"file": "C:\cpp_starter\src\example\constexpr_map.cpp",
"output": "CMakeFiles\structure_only.dir\src\example\constexpr_map.cpp.obj"
},
{
"directory": "C:/cpp_starter/build",
"command": "C:\msys64\clang64\bin\clang++.exe -DUNICODE -D_UNICODE -g -std=c++20 -fcolor-diagnostics -municode -Wall -Wextra -Wextra-semi -Wcast-align -Wdouble-promotion -Wformat=2 -Wimplicit-fallthrough -Wmisleading-indentation -Wmissing-noreturn -Wnon-virtual-dtor -Wnull-dereference -Wold-style-cast -Woverloaded-virtual -Wpacked -Wpedantic -Wshadow -Wno-sign-conversion -Wunused -ftemplate-backtrace-limit=0 -fconstexpr-backtrace-limit=0 -o CMakeFiles\structure_only.dir\test\main.cpp.obj -c C:\cpp_starter\test\main.cpp",
"file": "C:\cpp_starter\test\main.cpp",
"output": "CMakeFiles\structure_only.dir\test\main.cpp.obj"
}
]
这我就实在不清楚了,可能是你电脑里安装的 Microsoft Visual Studio 9.0
Microsoft Visual Studio 8
等 Visual Studio 软件的问题。这属于巧合引发的问题,只能反复尝试了,从上往下依次试试吧(每一步做完都记得重启 clangd):
试试在设置里加上一行 "clangd.path": "clangd",
。
按教程里说的,再进入环境变量,将教程中加的 msys2 路径移到更前面。
删除 .cache 文件夹 和 build 文件夹,用 CMake 重新选择 clang 17.0.4 进行配置,重启 clangd。
卸载这些冗余的 Visual Studio 软件。
我也碰到了类似的问题,我似乎用如下方法正确解决了
就是将我系统内所有编译器的路径以逗号分隔的形式加入到querydriver中
教程里针对 gcc 说过这个,但忘了其实可以用在这地方了,感谢。
登录 后才可以发表评论