OpenCV 2.4.2 と Point Cloud Library 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、およびflannの競合についても同様の質問がありますが 、少し異なるエラーです...
編集 2
そのため、以前に持っていた main.cpp ファイルに
名前空間 pcl を使用します。名前空間 cv を使用します。
これら 2 つをコメントアウトし、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 ヘッダーのインクルードをこの新しい flanncv ディレクトリに更新しようとしました。私はまだ上記のエラーが発生しています...