在工作中,运行QT程序时,会出现如下错误,QT界面就是启动不起来,查了好久,各种解决方案都试过,就是没法解决这个问题。下面我将我的解决方案放到下面!
查了好久,终于找到原因了,项目也耽误了好几天,真的是痛苦,现在终于完美解决了。。。。。。。
Gtk-Message: 13:58:28.482: Failed to load module "canberra-gtk-module"
(AGVPerceptionAssistant:9531): GLib-GObject-WARNING **: 13:58:28.494: cannot register existing type 'GtkWidget'
(AGVPerceptionAssistant:9531): GLib-GObject-WARNING **: 13:58:28.494: cannot add class private field to invalid type '<invalid>'
(AGVPerceptionAssistant:9531): GLib-GObject-WARNING **: 13:58:28.494: cannot add private field to invalid (non-instantiatable) type '<invalid>'
(AGVPerceptionAssistant:9531): GLib-GObject-CRITICAL **: 13:58:28.494: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
(AGVPerceptionAssistant:9531): GLib-GObject-WARNING **: 13:58:28.494: cannot register existing type 'GtkBuildable'
(AGVPerceptionAssistant:9531): GLib-GObject-CRITICAL **: 13:58:28.494: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed
(AGVPerceptionAssistant:9531): GLib-CRITICAL **: 13:58:28.494: g_once_init_leave: assertion 'result != 0' failed
(AGVPerceptionAssistant:9531): GLib-GObject-CRITICAL **: 13:58:28.494: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
(AGVPerceptionAssistant:9531): Gtk-CRITICAL **: 13:58:28.494: gtk_widget_get_style_context: assertion 'GTK_IS_WIDGET (widget)' failed
(AGVPerceptionAssistant:9531): Gtk-CRITICAL **: 13:58:28.494: gtk_style_context_lookup_color: assertion 'GTK_IS_STYLE_CONTEXT (context)' failed
(AGVPerceptionAssistant:9531): Gtk-CRITICAL **: 13:58:28.494: gtk_style_context_get_background_color: assertion 'GTK_IS_STYLE_CONTEXT (context)' failed
(AGVPerceptionAssistant:9531): GLib-GObject-WARNING **: 13:58:28.495: cannot register existing type 'GtkWidget'
(AGVPerceptionAssistant:9531): GLib-GObject-WARNING **: 13:58:28.495: cannot add class private field to invalid type '<invalid>'
(AGVPerceptionAssistant:9531): GLib-GObject-WARNING **: 13:58:28.495: cannot add private field to invalid (non-instantiatable) type '<invalid>'
(AGVPerceptionAssistant:9531): GLib-GObject-CRITICAL **: 13:58:28.495: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed
原因:其他软件使用的gtk和qt使用的qtk有冲突!
解决方法:如有程序有使用opencv,编译安装opencv,编译时,不使用gtk
cmake -D CMAKE_BUILD_TYPE=RELEASE \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D OPENCV_GENERATE_PKGCONFIG=ON \
-D WITH_GTK=OFF \
..
使用cmake-gui也是一样的将gtk的选项勾掉,不选择!!!!
即可解决该问题!!!
六、信息披露与保密
(一)您与CSDN经营者关于重大信息的披露、采用、表述等均应获得双方的一致认可。您可以宣传已与CSDN经营者合作的事实与情况,但未经过CSDN经营者事先书面同意,不得发布使用任何含有CSDN名称、商标、logo、标记等的新闻稿、其他宣传声明或推广材料。出于宣传或推广目的,CSDN经营者有权发布、提及或描述CSDN经营者授权作品或作者的宣传和推广材料。
(二)CSDN经营者或您对于因签署或履行本协议而了解或接触到的对方的商业秘密及其他保密资料和信息(以下简称“保密信息”)均应保守秘密。除非国家法律法规、政府或者法院的要求,或者本协议双方同意,任何一方不得向任何第三方泄露、给予或转让该等保密信息。除为实现本协议项下约定之目的所必须外,未经对方事先书面同意,任何一方不得擅自使用、复制或擅自向任何第三方授权使用、授权复制对方的商标、标志、商业信息、技术及其他资料等。
(三)本保密条款不因本协议的无效、被撤销、解除、提前终止、不具操作性等而失效,保密期限为永久。
七、争议解决与法律适用
(一)如您与CSDN就本协议内容或其执行发生任何争议,应首先进行友好协商;若经协商无法解决该争议,则应将争议提交北京创新乐知网络技术有限公司住所地人民法院管辖。
(二)本协议的订立、执行、解释及争议的解决均适用中华人民共和国法律。
(三)本协议无效、被撤销或者终止的,不影响本协议中独立存在的有关解决争议方法与法律适用等条款的效力。
八、其他事项
(一)因本协议项下CSDN经营者需要向您发出的任何通知、指示、催告或其他任何形式的意思表示,均可通过包括但不限于电子邮件、站内信、系统通知或页面公告等形式中的一种或几种发送或接收。该等意思表示于发送之日视为已送达收件人。
(二)本协议发布于2023年6月1日。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/blogdevteam/article/details/131521037