error C2872: “flann”: 不明确的符号 --- PCL 与OpenCV2 的flann命名空间冲突问题的解决方法

2023-05-16,,

error C2872: “flann”: 不明确符号 — PCL 与OpenCV2命名空间冲突问题的解决方法

error C2872: “flann”

如果你在编译你的程序的时候,出现了这样的错误:

error C2872: “flann”: 不明确的符号
1> 可能是“flann”
1> 或 “cv::flann”

说明你在你的程序中,你同时使用了:PCL库和OpenCV库。这两个库都有包含flann库。

解决办法

去掉程序中所有的:

using namespace cv;

将使用OpenCV库里的函数和变量都写全称。(就是前面包含环境变量

总结:你一定是为了方便,在程序的最前面定义了using namespace cv;。你在程序中同时使用了PCL 和 OpenCV这两个库,你这样声明空间命名,编译器在编译程序的时候,不知道PCLl库里面的flann是要编译成flann还是cv::flann,所以就出现了上面这样的错误。

误人子弟

我在网上看到了一个误人子弟的解决方法:

http://ask.csdn.net/questions/213168

这个解决方法还大言不惭的说测试通过,过你个


参考网站:

http://www.pcl-users.org/Flann-vs-OpenCV-vs-PCL-conflict-td3722814.html

http://stackoverflow.com/questions/12481208/opencv-and-pcl-conflict

error C2872: “flann”: 不明确的符号 --- PCL 与OpenCV2 的flann命名空间冲突问题的解决方法的相关教程结束。

《error C2872: “flann”: 不明确的符号 --- PCL 与OpenCV2 的flann命名空间冲突问题的解决方法.doc》

下载本文的Word格式文档,以方便收藏与打印。