clangd找不到系统头文件/std命名空间

clangd 突然找不到系统头文件

TLDR:如果代码可以编译,且clangd之前工作也正常,而你刚更新了一些包,那检查下你新安的包里有没有高版本的libgcc-*-dev,他们会干扰clangd。

环境

  • Ubuntu 22.04
  • GCC 11.3.0(伏笔)
  • Clangd 14.0.0

今天重启了系统,更新了一些包,然后发现原来没事的clangd抽风了,cstdintiostream之类的自带头文件都找不到,std也说找不到,报了一堆错。代码还是可以正常编译,重新cmake,重启vscode server,重装clangd都无济于事。

用别的机子登了一下,问题依旧,那确定是服务器方面问题,遂运行clangd --check=simple.cc测试看看他的配置正常不正常。然后就发现他找的gcc路径显示版本似乎是12(其实是libgcc-12-dev),但系统上按说只安装了gcc 11。apt list | grep libgcc-.*-dev,发现系统上真安了libgcc-12-dev,删掉他,clangd就又用回gcc11了,就好了。

也忘了是怎么更新的那一堆包,反正系统提示可以更新,就直接更了。还得是那句话:没事就别动它。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值