PCL,OpenCV的和FLANN冲突(PCL, OpenCV and flann conflict

2019-09-21 03:28发布

我使用PCL 1.6,OpenCV的2.4.2我的程序(QT),并有此FLANN(1.7.1)的冲突我解决不了。

我已经在互联网上读了很多关于它,并试图大部分的解决方案(不使用using namespace cv ,更新最新版本的OpenCV,并把PCL包括之前的OpenCV inludes等),但仍然每当我使用PCL和OpenCV在一起时,FLANN-LIB(其PCL使用)会造成问题,并说,例如用于这行代码typedef flann::Index<Dist> FLANNIndex;

/usr/include/pcl-1.6/pcl/kdtree/kdtree_flann.h:74:错误:“FLANN”没有指定类型

还有没有其他的解决方法吗?

Answer 1:

遇到同样的问题。

有一个实现FLANN的OpenCV中,和其他(可能是相同的)的PCL。

最初,他们生活在不同的命名空间,但如果你喜欢

using namespace cv;
using namespace pcl;

你那里的冲突。

因此,跳过using namespace cv; 行,而不是使用CV ::在代码中的任何解决它。



Answer 2:

我似乎已经找到了解决办法,但我不知道这是最好的一个。

  1. 我添加#include <flann/flann.h>到事后上述错误走了。

  2. 但随后的OpenCV遇到了麻烦,找到它的所以我在改变了目录当然我也为每个.h文件中包含该这样做目录了。

这不是一个非常巧妙的解决办法,但它的工作现在。



文章来源: PCL, OpenCV and flann conflict