解决opencv在vs code中头文件找不到的问题

在一段程序中,有引用opencv头文件

#include <iostream>
#include <opencv2/core/core.hpp>
#include <opencv2/features2d/features2d.hpp>
#include <opencv2/highgui/highgui.hpp>

尽管cmake会通过,但这时候vs code在这些下面会出现红色波浪线

无法打开 源 文件 "opencv2/core/core.hpp"
无法打开 源 文件 "opencv2/features2d/features2d.hpp"

这是为什么呢?
cmake会通过说明cmakelists里面代码链接是没有问题的,出现问题的地方在于vs code没有链接好opencv的头文件
解决方法如下:
先找到opencv头文件的位置

sudo find / -iname "*opencv*"

会出现

jianzhuozhu@jianzhuozhu-OptiPlex-9020:~$ sudo find / -iname "*opencv*"
/opt/ros/kinetic/include/opencv-3.3.1-dev
/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv
/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv2
/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv2/opencv.hpp
/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv2/opencv_modules.hpp
/opt/ros/kinetic/bin/opencv_traincascade
/opt/ros/kinetic/bin/opencv_annotation
/opt/ros/kinetic/bin/opencv_interactive-calibration
/opt/ros/kinetic/bin/opencv_version
/opt/ros/kinetic/bin/opencv_createsamples
/opt/ros/kinetic/bin/opencv_waldboost_detector
/opt/ros/kinetic/bin/opencv_visualisation
/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_videostab3.so.3.3
/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_bgsegm3.so.3.3
/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_flann3.so.3.3.1
/opt/ros/kinetic/lib/x86_64-linux-gnu/libopencv_videoio3.so.3.3

在vs code中ctrl+shift+p,选择C/C++: 编辑配置(UI),将如下路径添加到包含路径中

添加

/opt/ros/kinetic/include/opencv-3.3.1-dev
/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv
/opt/ros/kinetic/include/opencv-3.3.1-dev/opencv2

即可
红色波浪线消失。

  • 6
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值