2017년 2월 1일 수요일

opencv FileStorage C++ exception: cv::Exception

문제: opencv의 FileStorage class를 이용하여 파일을 출력시, 어느 정도 되다가 Microsoft C++ exception: cv::Exception at memory location 와 같은 에러창을 내면서 죽음.

해결:
<http://www.itgo.me/a/x3069773210788729692/opencv-filestorage-error>에 따르면 보통 cv::Exception 에러는 debug mode에서 release라이브러리를 혹은 그 반대를 적용하는 경우 발생한다고 한다. 또한 라이브러리의 버전도 현재 사용하고있는 개발 환경과(VS2010, VS2012같은) 맞춰야한다.

참고로
VS2012 - vc12
VS2010 - vc10
VS2008 - vc9
이다.

즉,
1. debug모드에서는 debug라이브러리와 dll을, release모드에서는 release라이브러리와 dll을 사용해야함.
2. 프로젝트->속성->General->Platform Toolset->의 값이 opencv의 build된 폴더명과 같은것을 사용하는지(lib, dll) 확인한다.