從師兄那拷貝過來的代碼,師兄的機器上可以運行,環境為Win7+OpenCV231,編譯器為Debug Win32,拷貝到自己機器上運行時出現問題。
本機的運行環境為win10+OpenCV244,編譯器為Debug Win32,一直提示如下錯誤:
根據錯誤提示“內存分配不足”
解決方法嘗試:
①懷疑是OpenCV版本問題,將OpenCV換回231版本,結果不起作用;
②懷疑是單個程序運行分配內存不足,嘗試擴大單個程序運行分配的內存,使用命令提示符,在管理員模式下運行,bcdedit /set increaseuserva 8192,結果發現運行出錯的位置向前推進了,但最終依然還是內存不足;
③將編譯器調整為Release x64,結果程序跑起來了,那叫一個激動啊;
④別被勝利沖昏了頭腦,立即將編譯器調整為Debug x64,程序也可以運行;
⑤在來驗證一下bcdedit /set increaseuserva 8192是否有用,將程序運行內存設置為2G,bcdedit /set increaseuserva 2048,程序依然可以運行。
總結:
通過上面的測試,解決這個問題的方法是將編譯器調整為x64環境下,也就是將程序編譯成64位程序。
存在的疑問:為什么師兄的機器在win32編譯器可以運行的,難道是與操作系統有關,求證。