参考网页:vscode中用clang遇到问题:clang(pp_file_not_found) - 百度文库
在使用vscode查看代码时,遇到了头文件#include<ros/ros.h>出现红色下划线,并且下面的代码也有部分出现红色下划线,但是编译能够通过,如图:
查看#include<ros/ros.h>的报错详情显示'ros/ros.h' file not found clang(pp_file_not_found)。这时我们大概能猜到这个报错是由clangd引起的。
经过搜索,有一个方法能够解决该问题:
在vscode的clangd插件的设置中新增参数即可解决,在设置中搜索栏输入clangd,第一条“Clangd:Arguments”中添加项,输入
--complie-commands-dir=${worksapceFolder}/build/${buildType}
然后重启vscode,即可解决问题。
还有第二种方法,我没有试过,当第一种方法没能解决问题可以试试这个:
设置cmake config完成后,把compile_commands.json复制到${workspaceFolder}目录。
操作方法:在设置中搜索栏输入cmake: Copy Compile Commands,填上:
${workspaceFolder}/compile_commands.json