堆已损坏opencv

时间:2016-02-03 07:08:46

标签: c++ opencv assertions

转义范围后,我收到损坏的堆错误消息。调试断言在_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中运行一些程序并且工作正常。

1 个答案:

答案 0 :(得分:2)

  

转义范围后,我收到损坏的堆错误消息。

如果您确定错误在}处准确提升,那么这在您的代码中不是问题。只是你没有正确链接OpenCV。 x64和x86之间不匹配或C ++运行时库之间不匹配。所以只要确保一切都很好。