GLib-GObject-WARNING **: cannot register existing type 'GtkStyle'
GLib-GObject-WARNING **: cannot add private field to invalid (non-instantiatable) type '<invalid>'
 GLib-CRITICAL **:  g_once_init_leave: assertion 'result != 0' failed

( :2600844): GLib-GObject-CRITICAL **: 14:54:35.590: g_param_spec_object: assertion 'g_type_is_a (object_type, G_TYPE_OBJECT)' failed

( :2600844): GLib-GObject-WARNING **: 14:54:35.590: cannot register existing type 'GdkWindow'

( :2600844): GLib-CRITICAL **: 14:54:35.590: g_once_init_leave: assertion 'result != 0' failed

( :2600844): GLib-GObject-CRITICAL **: 14:54:35.590: g_param_spec_object: assertion 'g_type_is_a (object_type, G_TYPE_OBJECT)' failed

( :2600844): GLib-GObject-CRITICAL **: 14:54:35.590: validate_pspec_to_install: assertion 'G_IS_PARAM_SPEC (pspec)' failed

( :2600844): GLib-GObject-CRITICAL **: 14:54:35.591: g_param_spec_ref_sink: assertion 'G_IS_PARAM_SPEC (pspec)' failed

( :2600844): GLib-GObject-CRITICAL **: 14:54:35.591: g_param_spec_unref: assertion 'G_IS_PARAM_SPEC (pspec)' failed

( :2600844): GLib-GObject-WARNING **: 14:54:35.591: ../../../gobject/gsignal.c:1760: parameter 1 of type '<invalid>' for signal "GtkWidget::style-set" is not a value type

( :2600844): GLib-GObject-WARNING **: 14:54:35.591: cannot register existing type 'GdkKeymap'

( :2600844): GLib-CRITICAL **: 14:54:35.591: g_once_init_leave: assertion 'result != 0' failed

( :2600844): Gdk-CRITICAL **: 14:54:35.591: gdk_keymap_get_modifier_mask: assertion 'GDK_IS_KEYMAP (keymap)' failed

晚上找了一大圈没找到原因,没后来发现是有一个库使用的opencv中,cmake选择了with gtk,把这个勾选掉,重新编译即可。

ps:感觉使用with_gtk_2_X也可以

更多推荐