gpt4 book ai didi

c++ - OpenCV 和 PCL 冲突?

转载 作者:太空狗 更新时间:2023-10-29 21:04:00 26 4
gpt4 key购买 nike

我正在使用 OpenCV 2.4.2 和点云库 1.6.0。

我的程序运行良好,直到我添加了一行...

#include <pcl/segmentation/segment_differences.h>

这会在我尝试编译时导致错误。我明白了……

Error   93  error C2872: 'flann' : ambiguous symbol C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6\pcl\kdtree\kdtree_flann.h  424
Error 94 error C2872: 'flann' : ambiguous symbol C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6\pcl\kdtree\kdtree_flann.h 425
Error 95 error C2872: 'flann' : ambiguous symbol C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6\pcl\kdtree\kdtree_flann.h 427
Error 96 error C2872: 'flann' : ambiguous symbol C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6\pcl\kdtree\kdtree_flann.h 514
Error 97 error C2872: 'flann' : ambiguous symbol C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6\pcl\kdtree\kdtree_flann.h 520

C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6\pcl/kdtree/kdtree_flann.h(520): error C2872: 'flann' : ambiguous symbol
could be 'flann'
or 'cv::flann'

所以看起来 OpenCV 附带的 Flann 文件与 PCL 中的 Flann 文件发生冲突。

有什么建议吗?

编辑

这里有一个类似的问题 PCL, OpenCV and flann conflict但这是一个稍微不同的错误...

编辑2

所以在我之前的 main.cpp 文件中

使用命名空间 pcl;使用命名空间简历;

我注释掉了这两个并更新了程序以使用 cv::Mat 等。

但是当我添加...时我在编译过程中仍然会出错

#include <pcl/segmentation/segment_differences.h>

C:\Program Files (x86)\PCL 1.6.0\include\pcl-1.6\pcl/kdtree/kdtree_flann.h(520): error C2872: 'flann' : ambiguous symbol
could be 'flann'
or 'cv::flann'

我刚刚尝试将 include\opencv2\flann\重命名为 include\opencv2\flanncv\并将一堆 opencv header 中的包含更新到这个新的 flanncv 目录。我仍然收到上述错误...

最佳答案

因此,无需重建即可解决此问题的方法是向其添加一个空命名空间

改变实例法兰::东西到::弗兰::某物

我认为它有效地告诉它使用全局命名空间而不是 cv 命名空间。

关于c++ - OpenCV 和 PCL 冲突?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12481208/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com