2015-10-19 128 views
0

我正在运行opencv \ sources \ samples \ cpp \ tutorial_code \ calib3d \ camera_calibration文件夹中的摄像机校准程序。 当我尝试运行在发布模式下,我得到的源代码,我得到一个缓冲区溢出错误说Open cv摄像机校准

缓冲区溢出发生在已经损坏了程序的内部状态的相机calibration_19.10.exe。按Break键调试程序或继续终止程序。

其中相机calibration_19.10是项目我正在编译我的源代码中的名称。

这里的问题是,什么是在代码中的错误或导致上述错误的链接库弹出??。

+0

那么,你的问题是什么? –

+0

您是否在发布模式下链接调试库? – Micka

+1

@Micka,是的,我把myvisual studio 2012链接到了C:\ opencv \ build \ x86 \ vc12 \ lib。错误是因为visual studio 2012使用vc11而需要链接到C:\ opencv \ build \ x86 \ vc11 \ lib。当我将vc11的dll复制到我的调试和发布文件夹时,我的项目的可执行文件工作正常。 :) –

回答

0

我的项目的问题是我已将opencv库设置为\ opencv \ build \ x86 \ vc12 \ lib。但是visual studio需要\ opencv \ build \ x86 \ vc11 \ lib。 因此,当我使用的.DLL(opencv_world300.dll,opencv_world300d.dll)从\ OpenCV的\建设\ 86 \ VC11 \ BIN到我的项目调试和发布文件,可执行文件没有上述错误

PS运行良好如果你在使用visual studio 2012时遇到上述错误,请使用\ opencv \ build \ x86 \ vc11 \ bin dll而不是\ opencv \ build \ x86 \ vc12 \ bin dll和所有内容。 :D