解决PCL和OPENCV冲突问题

解决PCL和OPENCV冲突问题

  • 问题
    • 解决

问题

在工程中需要同时用到opencv和pcl,在原有的pcl程序中加入opencv配置后编译失败,提示flann等错误。原因是opencv和pcl都有flann第三方库,在程序中无法区分调用的是哪一个库的flann而冲突。

解决

通过修改opencv的flann文件夹的名称来区分两个库,解决问题。opencv450contirb&pcl1.10。具体步骤如下:

  1. 在原pcl工程中加入opencv450contrib属性表;
  2. 加入opencv头文件#include (此时编译报错);
  3. 在opencv安装文件夹下搜素flann;
  4. 一个是在\opencv450\opencv\newbuild\install\include\opencv2中,将flann文件夹重命名为flann2;解决PCL和OPENCV冲突问题_第1张图片
    4.另一个在\opencv450\opencv\newbuild\modules中,同样将flann文件夹重命名为flann2;解决PCL和OPENCV冲突问题_第2张图片
  5. 完成重命名后重新编译工程,根据错误提示分别修改下面三个头文件中的四句#include "opencv2/flann为#include "opencv2/flann2;
  6. features2d.hpp中;解决PCL和OPENCV冲突问题_第3张图片
  7. miniflann.hpp中;解决PCL和OPENCV冲突问题_第4张图片
  8. flann.hpp中;解决PCL和OPENCV冲突问题_第5张图片
  9. 修改完成后重新编译,生成成功。

你可能感兴趣的:(opencv)