2015-10-19 4 views
0

Я запускаю программу калибровки камеры, присутствующую в папке opencv \ sources \ samples \ cpp \ tutorial_code \ calib3d \ camera_calibration. Когда я пытаюсь запустить исходный код в режиме релиза я получаю, я получаю ошибку переполнения буфера, говоряКамеру с открытыми камерами

переполнение буфера произошел в calibration_19.10.exe камеры, который развратил внутреннее состояние программы. Нажмите «Разрыв», чтобы отладить программу или «Продолжить», чтобы завершить работу программы.

где calibration_19.10 камера название проекта я компиляции мой исходный код.

Вопрос заключается в том, что то, что это ошибка в коде или связанные библиотеки в результате указанной выше ошибки всплывать ??.

+0

Итак, в чем ваш вопрос? –

+0

Вы связываете библиотеки отладки в режиме выпуска? – Micka

+1

@ Micka, Да, я связал myvisual studio 2012 с C: \ opencv \ build \ x86 \ vc12 \ lib. Ошибка должна была быть связана с C: \ opencv \ build \ x86 \ vc11 \ lib, поскольку visual studio 2012 использует vc11. Когда я скопировал dll для vc11 в мою папку отладки и выпуска, исполняемый файл для моего проекта работал нормально. :) –

ответ

0

Проблема с моим проектом заключалась в том, что я установил библиотеки opencv в \ opencv \ build \ x86 \ vc12 \ lib. Но визуальная студия нуждалась в \ opencv \ build \ x86 \ vc11 \ lib. Так что, когда я использовал .dlls (opencv_world300.dll, opencv_world300d.dll) из \ OpenCV \ построить \ x86 \ VC11 \ Bin в моем проекте отладки и выпуска папки, исполняемые файлы прекрасно работали без указанной выше ошибки

PS если и получить вышеуказанную ошибку при использовании visual studio 2012. используйте \ opencv \ build \ x86 \ vc11 \ bin dll вместо \ opencv \ build \ x86 \ vc12 \ bin dll и всех ist кишок. : D

Смежные вопросы