Opencv+PCL=Flann 冲突?

想必很多同时使用opencv和pcl库的朋友都遇到过来这个头痛的问题——Flann冲突。究其根本是因为两个库同时使用了flann,造成歧义。

网贴有些兄弟称注释掉:
using namespace cv;
using namespace pcl;
添加 cv::    pcl::
但是我的case问题任然存在

我的解决方案:
首先,注意添加include路径顺序, 先pcl库后opencv
然后,编译会遇到错误代码:lines that were complaining about 'flann' : ambiguous symbol 
          could be 'flann' 
          or 'cv::flann' 
表明flann有歧义,pcl和opencv都使用,产生了冲突。
最后,在错误处给flann前加::作用域运算符,限制其作用域。估计错误应该就能搞定。

附:混合多个函数库时尽量使用如std::  cv:: pcl:: 等来代替 使用 using namespace std,using namespace pcl,using namespace cv。希望新版的opencv库能updata第三方库的命名,避免此类问题出现。

你可能感兴趣的:(PCL,Opencv,PCL,Flann)