Vscode 解决 #include <> 找不到的问题

本人遇到的情况, 使用 ROS 的过程中, 发现 #include <pcl/point_types.h> 不被 VScode 识别, 在 AI 的帮助下解决了该问题, 现总结如下:

1. 查看是否有相应的文件

Linux 下, point_types.h 的存储路径一般为: /usr/include/pcl-1.x (我的路径是 /usr/include/pcl-1.12), 在该目录下查找是否存在该文件:

shell 复制代码
find . -type f -name <文件名称>

我查找到确实是存在该文件的, 所以目录方面没有问题

2. 查看 VScode 的 c_cpp_properties.json

在 VScode 用 c_cpp_properties.json 来指定头文件路径; 一般情况下需要配置该文件, 而我遇到的 #include <pcl/point_types.h> 找不到的问题, 需要在该文件中写入:

json 复制代码
"includePath": [
	"xxx", 
	"/usr/include/pcl-1.12"
]

一般情况下, 到这一步就可能解决问题, 如何没有解决, 可继续下面操作

Coution: 该种路径有时候可能没法识别, 需要写成 "xxx/**" 的形式, 例如: "/opt/ros/humble/include/**"

3. 查看输出日志

返回 VScode 界面, 按下 [Ctrl + Shift + P] 并输入: C/C++: Log Diagnostics, 选中后查看日志中是否有头文件路径. 如果没有, 返回 2.

4. 强制清除 IntelliSense 缓存

如果到此还是无法解决问题, 只能清理 IntelliSense 缓存; 操作之前, 要关闭 VScode, 具体代码如下:

shell 复制代码
rm -rf ~/.cache/vscode-cpptools

之后重启 VScode, 即可解决问题;


如果还未解决, 可以使用以下方式: (以下情况并未试过, 请谨慎操作)

  1. 关闭 VS Code
  2. 删除以下目录(如果存在)
shell 复制代码
rm -rf ~/.cache/vscode-cpptools
rm -rf .vscode/ipch
  1. 重新打开 VS Code,打开工作区
  2. 按 [Ctrl+Shift+P],运行 C/C++: Delete Cache and Rebuild
  3. 检查 #include <pcl/point_types.h> 是否仍有红波浪线。
相关推荐
tqs_123451 小时前
IntelliJ IDEA 中进行背景设置
java·ide·intellij-idea
未来之窗软件服务3 小时前
搭建 Select 三级联动架构-东方仙盟插件开发 JavaScript ——仙盟创梦IDE
开发语言·javascript·ide·仙盟创梦ide·东方仙盟皮肤·东方仙盟·东方仙盟插件
huangyuchi.4 小时前
【Linux】vim编辑器
linux·运维·笔记·编辑器·vim
ONLYOFFICE5 小时前
ONLYOFFICE文档API:更强的安全功能
编辑器·onlyoffice·数据安全·文档协作
CodingInCV6 小时前
cursor/vscode连接低版本的系统(glibc<2.28)
ide·vscode·编辑器
阿幸软件杂货间16 小时前
ChemDraw 2023|Win英文|化学结构编辑器|安装教程
编辑器·chemdraw
向宇it16 小时前
【unity游戏开发——编辑器扩展】EditorApplication公共类处理编辑器生命周期事件、播放模式控制以及各种编辑器状态查询
开发语言·ui·unity·编辑器·游戏引擎
向宇it16 小时前
【unity游戏开发——编辑器扩展】AssetDatabase公共类在编辑器环境中管理和操作项目中的资源
游戏·ui·unity·编辑器·游戏引擎
ONLYOFFICE16 小时前
ONLYOFFICE文档API:编辑器的品牌定制化
编辑器·个人开发
不穿铠甲的穿山甲19 小时前
Intellij IDEA 查找接口实现类的快捷键
java·ide·intellij-idea