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

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

error C2872: “flann”

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

error C2872: “flann”: 不明确的符号
1>          可能是“flann1>          或       “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

原文地址:https://www.cnblogs.com/aobosir/p/5928660.html