我认为你有安装问题,尝试从这里重新安装:sourceforge.net/projects/opencvlibrary/files/opencv-win/2.2
另一个选项是您的预编译器已经__OPENCV_OLD_CV_H__
定义。尝试取消定义它之前#include "cv.h"
当您键入时 #include "cv.h"
,它会自动包含 features2d。事实上 cv.h 包括以下内容:
#include "opencv2/core/core_c.h"
#include "opencv2/core/core.hpp"
#include "opencv2/imgproc/imgproc_c.h"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/video/tracking.hpp"
#include "opencv2/features2d/features2d.hpp"
#include "opencv2/flann/flann.hpp"
#include "opencv2/calib3d/calib3d.hpp"
#include "opencv2/objdetect/objdetect.hpp"
#include "opencv2/legacy/compat.hpp"