转义范围后,我收到损坏的堆错误消息。调试断言在_CrtlsValidHeapPointer(块)的debug_heap.cpp中失败
#include "opencv2\opencv.hpp"
#include "opencv2\nonfree\features2d.hpp"
using namespace cv;
int main(int argc, char* argv[]) {
Mat img = imread(argv[1]);
SurfFeatureDetector detector(400);
vector<KeyPoint> keypoints;
detector.detect(img, keypoints);
return 0;
}
EDIT 固定。问题在于链接。我使用了visual studio 2015和opencv 2.49 x86 vc10。 vc10适用于Visual Studio 2010.在Visual Studio 2010中运行一些程序并且工作正常。
答案 0 :(得分:2)
转义范围后,我收到损坏的堆错误消息。
如果您确定错误在}
处准确提升,那么这在您的代码中不是问题。只是你没有正确链接OpenCV。 x64和x86之间不匹配或C ++运行时库之间不匹配。所以只要确保一切都很好。