Я недавно обновился до OpenCV 2.4.9
и столкнулся с Buffer Overrun
при выполнении этого небольшого куска кода при компиляции в режиме выпуска:
std::string calibSettingFilename( "config.xml" );
cv::FileStorage fs( calibSettingFilename, FileStorage::READ );
Все отлично работает в режиме отладки, поэтому я совершенно заблудился в том, где искать решение. Если это поможет, мой callstack выглядит так:
msvcr110.dll!_crt_debugger_hook(int _Reserved) Line 60 C
CameraCalibration.exe!__raise_securityfailure(_EXCEPTION_POINTERS * ExceptionPointers) Line 70 C
CameraCalibration.exe!__report_gsfailure() Line 235 C
CameraCalibration.exe!_memcpy() C++
ntdll.dll!ExecuteHandler@20() Unknown
ntdll.dll!_RtlDispatchException@8() Unknown
ntdll.dll!_KiUserExceptionDispatcher@8() Unknown
opencv_core249d.dll!cvOpenFileStorage(const char * filename, CvMemStorage * dststorage, int flags, const char * encoding) Line 2694 C++
opencv_core249d.dll!cv::FileStorage::open(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & filename, int flags, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & encoding) Line 5177 C++
opencv_core249d.dll!cv::FileStorage::FileStorage(const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & filename, int flags, const std::basic_string<char,std::char_traits<char>,std::allocator<char> > & encoding) Line 5156 C++
CameraCalibration.exe!ReadCalibrationSettings(CalibrationSettings * * settings) Line 28 C++
Задача ещё не решена.