我正在为我的程序(在 Qt 中)使用 PCL 1.6、OpenCV 2.4.2,并且存在我无法解决的 flann (1.7.1) 冲突。
我已经在互联网上阅读了很多关于它的内容,并尝试了大部分解决方案(不使用 using namespace cv
,更新最新版本的 OpenCV 并将 PCL include 放在 OpenCV inludes 之前等),但仍然每当我使用PCL 和 OpenCV 一起,flann-lib(PCL 使用)会导致问题并说例如对于这行代码 typedef flann::Index<Dist> FLANNIndex;
/usr/include/pcl-1.6/pcl/kdtree/kdtree_flann.h:74: error: 'flann' does not name a type
还有其他解决方法吗?
最佳答案
遇到了同样的问题。
在 opencv 中有一个 flann 的实现,在 pcl 中有另一个(可能是相同的)。
最初,它们位于不同的 NAMESPACES 中,但如果您愿意的话
using namespace cv;
using namespace pcl;
你在那里得到了冲突。
因此,跳过 using namespace cv;
行,而是在代码中使用 cv::anything 解决了这个问题。
关于opencv - PCL、OpenCV和flann冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11918504/