Linux+QT+OpenCv摄像头调试心得(3)---- glibc detected *** free(): invalid pointer: 0xafeff000

摄像头预览正常,在点击“退出按钮”,或者关闭运行窗体后,下面的编译器输出栏弹出一堆警告,如下:

*** glibc detected *** /home/yan/qt/Camera_Read_OpenCv_V1-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK____/Camera_Read_OpenCv_V1: free(): invalid pointer: 0xafeff000 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x6ebc2)[0x908bc2]
/lib/i386-linux-gnu/libc.so.6(+0x6f862)[0x909862]
/lib/i386-linux-gnu/libc.so.6(cfree+0x6d)[0x90c94d]
/usr/lib/libcxcore.so.2.1(_ZN2cv8fastFreeEPv+0x23)[0xe236a3]
/usr/lib/libcxcore.so.2.1(cvFree_+0x1c)[0xe23c2c]
/usr/lib/libcxcore.so.2.1(cvReleaseImageHeader+0x6a)[0xe5b7ba]
/usr/lib/libcxcore.so.2.1(cvReleaseImage+0x3f)[0xe5b8ff]
/home/yan/qt/Camera_Read_OpenCv_V1-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK____/Camera_Read_OpenCv_V1[0x804a679]
/home/yan/qt/Camera_Read_OpenCv_V1-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK____/Camera_Read_OpenCv_V1[0x804a1f3]
/lib/i386-linux-gnu/libc.so.6(__libc_start_main+0xf3)[0x8b3113]
/home/yan/qt/Camera_Read_OpenCv_V1-build-desktop-Desktop_Qt_4_8_0_for_GCC__Qt_SDK____/Camera_Read_OpenCv_V1[0x804a249]
======= Memory map: ========
00110000-003f1000 r-xp 00000000 08:01 557615     /home/yan/QtSDK/Desktop/Qt/4.8.0/gcc/lib/libQtCore.so.4.8.0
003f1000-003f8000 r--p 002e0000 08:01 557615     /home/yan/QtSDK/Desktop/Qt/4.8.0/gcc/lib/libQtCore.so.4.8.0
003f8000-003fb000 rw-p 002e7000 08:01 557615     /home/yan/QtSDK/Desktop/Qt/4.8.0/gcc/lib/libQtCore.so.4.8.0
003fb000-00417000 r-xp 00000000 08:01 394171     /lib/i386-linux-gnu/libgcc_s.so.1
00417000-00418000 r--p 0001b000 08:01 394171     /lib/i386-linux-gnu/libgcc_s.so.1。。。。。。。。。。。。。。。等等很多

原因:在CameraWidget的析构函数里,释放指针的顺序不对,应该是cvReleaseCapture(&capture),然后再cvReleaseImage(&img); 

备注:img = cvQueryFrame(capture)。  如果内存释放顺序颠倒了,就会出现上述警告! 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]:collect2.exe: error: ld returned 1 exit status mingw32-make\[2\]: *** \[modules\core\CMakeFiles\opencv_core.dir\build.make:1800: bin/libopencv_core451.dll\] Error 1 mingw32-make\[1\]: *** \[CMakeFiles\Makefile2:1794: modules/core/CMakeFiles/opencv_core.dir/all\] Error 2 mingw32-make: *** \[Makefile:165: all\] Error 2 。 引用\[2\]:mingw32-make\[2\]: *** \[modules\python2\CMakeFiles\opencv_python2.dir\build.make:76: modules/python2/CMakeFiles/opencv_python2.dir/__/src2/cv2.cpp.obj\] Error 1 mingw32-make\[1\]: *** \[CMakeFiles\Makefile2:3365: modules/python2/CMakeFiles/opencv_python2.dir/all\] Error 2 mingw32-make: *** \[Makefile:165: all\] Error 2 。 引用\[3\]:问题:gcc: error: long: No such file or directory** C:\PROGRA~2\Dev-Cpp\MinGW64\bin\windres.exe: preprocessing failed. modules\core\CMakeFiles\opencv_core.dir\build.make:1420: recipe for target ‘modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj’ failed mingw32-make\[2\]: *** \[modules/core/CMakeFiles/opencv_core.dir/vs_version.rc.obj\] Error 1 mingw32-make\[2\]: *** Waiting for unfinished jobs… CMakeFiles\Makefile2:1603: recipe for target ‘modules/core/CMakeFiles/opencv_core.dir/all’ failed mingw32-make\[1\]: *** \[modules/core/CMakeFiles/opencv_core.dir/all\] Error 2 。 问题:qtOpencv4 cmake时mingw32-make: *** \[Makefile:165: all\] Error 2 回答: 这些错误信息表明在使用Qt中的Opencv4进行cmake时出现了问题。具体来说,出现了ld returned 1 exit status、Error 1、Error 2等错误。这些错误通常是由于编译器无法找到所需的文件或目录导致的。可能的原因包括缺少依赖项、路径设置错误或编译器配置问题。为了解决这些错误,您可以尝试以下几个步骤: 1. 确保您已正确安装了Opencv4和Qt,并且它们的路径已正确设置。 2. 检查您的编译器配置是否正确,包括编译器版本和路径设置。 3. 检查您的项目配置文件是否正确,包括CMakeLists.txt文件中的路径和依赖项设置。 4. 确保您的系统中已安装所需的依赖项,并且它们的路径正确。 5. 尝试清理并重新构建您的项目,以确保所有文件和依赖项都正确配置。 如果您仍然遇到问题,建议您查阅Opencv4和Qt的官方文档,以获取更详细的指导和解决方案。 #### 引用[.reference_title] - *1* *2* [Qt5.14+Opencv4.1+CMake3.22配置](https://blog.csdn.net/qq_45792470/article/details/125774264)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [OpenCV使用CMake和MinGW-w64的编译安装](https://blog.csdn.net/qq_61604164/article/details/121731875)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值