本文主要介绍一种使用vscode解决include头文件时常遇到的一个问题的一种快捷解决方式。
在写C++程序时经常会碰到这样的问题,就是#include<>下方有个条红色的波浪线,你将鼠标挪过去,然后编辑器提示你:

#include errors detected. Please update your includePath. Squiggles are disabled for this translation unit (/home/.../test.cpp)

或者是这种情况:

cannot open source file "hello.h"C/C++(1696)

首先你需要检查一下路径是否写错,如果路径写错的话请修改,然后,如果路径正确还报错的话,请看下文:
如果你用的是vscode,那么这里有一种快速解决方案:
将鼠标的指针移动到红线那里,在编辑器的提示下方会有一个Quick Fix…,如下图所示
在这里插入图片描述
点一下这个Quick Fix,会弹出一些解决方案,如下图(此时是没有第一行的选项的,这里为了省事,用了后面的图):
在这里插入图片描述
如果在这个项目中没有设置库的最外层路径(比如我这里是/usr/include/pcl-1.12,其实pcl-1.12下面还有很多文件,所以这里将/usr/include/pcl-1.12称为最外层路径),那么点击Edit “includePath” setting,这样会跳转到这个界面(此时One include path per line应该只有第一行,这里为了省事,用了后面的图片):
在这里插入图片描述手动将/usr/include/pcl-1.12添加进去。之后,返回源代码,发现还有头文件下还有红线,

点一下这个Quick Fix,会弹出一些解决方案,如下图:
在这里插入图片描述
选择第一种,然后编辑器会自动将路径加上,并且源代码不再报错。
在这里插入图片描述
往下翻(图片已经往下翻了),可以看到vtk-7.1已经添加进includePath中了。
这时再看源文件,红色波浪线已经消除。
当然,这个问题其实也有其它的解决办法,如果你用的时vscode,那么这个可能方便一点。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐