2015-10-19 122 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