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> 是否仍有红波浪线。
相关推荐
GISer_Jing5 小时前
ByteMD Markdown编辑器详细解释&修改编辑器默认样式(高度300px)
编辑器
努力冲冲6 小时前
使用Visual Studio Code实现文件比较功能
ide·vscode·编辑器
橡木树的叶子11 小时前
正点原子STM32cubeide学习——TFTLCD(MCU 屏)实验
ide·stm32·单片机·嵌入式硬件·学习
卖猪肉的痴汉11 小时前
5.3 VSCode使用FFmpeg库
ide·vscode·ffmpeg
还债大湿兄12 小时前
游戏技能编辑器之状态机的设计与实现
编辑器·状态机
向宇it21 小时前
【unity游戏开发——热更新】什么是Unity热更新
游戏·unity·编辑器·游戏引擎
CBCU1 天前
关于ubuntu环境下vscode进行debug的随笔
linux·vscode·ubuntu
扛麻袋的少年1 天前
vscode 开发nuxt,点击标签跳转到 components.d.ts 解决方案
vscode·nuxt3
神码编程1 天前
【Unity】MiniGame编辑器小游戏(三)马赛克【Mosaic】
游戏·unity·编辑器
come112341 天前
VS Code 项目中的 .vscode 目录详解
ide·vscode·编辑器