树莓派3b+搭建搭建qt+opencv环境后编译的问题

xyz 75cm2020-04-071565 次点击
我在树莓派3B+上安装上了qt5和opencv。
1.安装opencv
sudo apt-get install libopencv-dev
2.安装qt5
sudo apt-get update
sudo apt-get install qt5-default
sudo apt-get install qtcreator

安装好后,在使用时出现如下问题:
只要我在qt的工程目录中的.pro文件需要添加opencv相关的动态库,如下:
LIBS += -lwiringPi
LIBS += -lopencv_highgui
LIBS += -lopencv_core
LIBS += -lopencv_video
LIBS += -lopencv_videoio
LIBS += -lopencv_imgproc
出现的问题就是只要我包含了opencv_videoio 和opencv_highgui两个库中的任意一个,编译的时候就会报出如下的错误信息,希望各位大佬给点调试思路,已经被这个给搞蒙逼了,包含其他的几个opencv库有没有问题:
15:24:22: Starting /home/pi/sharedir/qt-pro/build-qt_pro0-Desktop-Debug/qt_pro0...
libEGL warning: DRI2: failed to authenticate
qt5ct: using qt5ct plugin

(qt_pro0:7369): GLib-GObject-WARNING **: 15:24:26.507: cannot register existing type 'GtkWidget'

(qt_pro0:7369): GLib-GObject-CRITICAL **: 15:24:26.507: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(qt_pro0:7369): GLib-GObject-WARNING **: 15:24:26.507: cannot register existing type 'GtkBuildable'

(qt_pro0:7369): GLib-GObject-CRITICAL **: 15:24:26.507: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(qt_pro0:7369): GLib-CRITICAL **: 15:24:26.507: g_once_init_leave: assertion 'result != 0' failed

(qt_pro0:7369): GLib-GObject-CRITICAL **: 15:24:26.507: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(qt_pro0:7369): GLib-GObject-CRITICAL **: 15:24:26.507: g_type_register_static: assertion 'parent_type > 0' failed
收藏 ♥ 感谢
xyz 75cm 2020-04-07 
出现这种错误的时候,说明debug用不了。但是同样在与工程目录同级的一个目录build-qt_pro0-Desktop-Debug生成了可执行的文件。直接在终端执行:sudo ./qt_pro0。能够正常执行,就不会报出上面的错误(其中qt_pro0是我的qt的工程名)
至于为什么这样,原因还没有找到,希望有知道的大神留言评论,不胜感激。
Spoony 小组长 2020-04-07 
是不是和目录权限有关
参考:
https://blog.csdn.net/u011471873/article/details/95534196
xyz 75cm 2020-04-07  ♥ 1
@Spoony 这个应该和我们这个现象关系不大。
个人理解:
上面的错误信息是在qt的那个ide中点击的debug按钮(也就是左下角有个小虫子的绿色按钮)出现的。因为opencv的两个库opencv_videoio 和opencv_highgui都是和视频界面相关的,这样的话如果使用qt IDE的调试功能可能就会出现问题。因为调试的功能都存在单步运行的功能。
如果我们先编译好(点击左下角榔头的图标),再执行固件。就不会有单步运行的需求。

当然,以上是自己的拙见。

登录注册 后可回复。

这里由以下店铺的技术人员在此免费提供能力范围内的技术支持。

NXEZ 创客商店(淘宝)

排障问题发帖注意事项:
1、请尽可能将故障说明清晰,列明例如使用环境和做了哪些操作和配置等。
2、排障中已经做了哪些尝试,如果能在问题中进行描述将极大提高解决问题的效率。
3、对于需要自身完成知识积累才能解决的问题,请自行通过搜索引擎寻找资料学习。