1. 程式人生 > >OpenCV Debug Assertion Failed _CrtIsValidHeapPointer

OpenCV Debug Assertion Failed _CrtIsValidHeapPointer

環境:VS2012+OpenCV2.4.8

我遇到的問題是std::vector<cv::KeyPoint> keypoint 在迴圈末彈出錯誤。

很多人都說:

  1、動態連結C執行庫:
  2、設定統一的Debug/Release

就OK。為什麼我就沒弄成?

最後,用靜態庫(staticlib)解決的:

1、庫目錄:opencv\build\x86\vc11\staticlib。

2、附加依賴項:

release版:(不帶d)

vfw32.lib
comctl32.lib
zlib.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
IlmImf.lib
opencv_core248.lib
opencv_imgproc248.lib
opencv_highgui248.lib
opencv_ml248.lib
opencv_video248.lib
opencv_features2d248.lib
opencv_calib3d248.lib
opencv_objdetect248.lib
opencv_contrib248.lib
opencv_legacy248.lib
opencv_flann248.lib
opencv_nonfree248.lib

dubug版:(帶d)

vfw32.lib
comctl32.lib
zlibd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
IlmImfd.lib
opencv_core248d.lib
opencv_imgproc248d.lib
opencv_highgui248d.lib
opencv_ml248d.lib
opencv_video248d.lib
opencv_features2d248d.lib
opencv_calib3d248d.lib
opencv_objdetect248d.lib
opencv_contrib248d.lib
opencv_legacy248d.lib
opencv_flann248d.lib
opencv_nonfree248d.lib

3、C/C++ -> 程式碼生成 ->  執行庫 -> 多執行緒(/MT)

release為MT,debug為MTD