Предупреждение и ошибки GLib-GObject при объединении двух рабочих приложений, созданных с использованием QTCreator, на Raspberry Pi - PullRequest
0 голосов
/ 14 января 2019

У меня есть два приложения, которые были созданы с использованием QTCreator (Qt Creator 4.2.0 На основании Qt 5.7.1) ony my Raspberry Pi 3 Модель B + (растяжка Raspbian 9.6) .

Первое приложение - это не Ct Plain C ++, которое использует opencv. Где приложение будет делать распознавание лиц. Второе приложение - это приложение QT Widgets, где у меня есть только несколько QDialogs.

Оба приложения создаются и запускаются на пи. Они отлично бегают и делают то, что должны. Хотя приложение виджета QT выдает это предупреждение во время выполнения:

libEGL warning: DRI2: failed to authenticate
qt5ct: using qt5ct plugin

Но все равно работает очень хорошо.

Проблема возникает, когда я объединяю эти два приложения . Даже когда я просто поставил эти строки:

INCLUDEPATH += "/usr/local/include/opencv4"
LIBS += `pkg-config --libs opencv4`

в файле .pro моего приложения QT Widget, чтобы я мог использовать opencv в этом приложении, которое выдает мне следующие предупреждения и ошибки:

libEGL warning: DRI2: failed to authenticate
qt5ct: using qt5ct plugin

(rpi2:1613): GLib-GObject-WARNING **: cannot register existing type 'GtkWidget'

(rpi2:1613): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rpi2:1613): GLib-GObject-WARNING **: cannot register existing type 'GtkBuildable'

(rpi2:1613): GLib-GObject-CRITICAL **: g_type_interface_add_prerequisite: assertion 'G_TYPE_IS_INTERFACE (interface_type)' failed

(rpi2:1613): GLib-CRITICAL **: g_once_init_leave: assertion 'result != 0' failed

(rpi2:1613): GLib-GObject-CRITICAL **: g_type_add_interface_static: assertion 'G_TYPE_IS_INSTANTIATABLE (instance_type)' failed

(rpi2:1613): GLib-GObject-CRITICAL **: g_type_register_static: assertion 'parent_type > 0' failed

Я попытался исследовать это и выяснить, что возможная причина этого может быть, когда QT был обновлен до 5.7.0-1, GTK в стиле виджета недоступен для приложений QT5 (я видел это здесь ). И обходной путь для этого должен был бы поместить это QT_STYLE_OVERRIDE=gtk2 или это QT_QPA_PLATFORMTHEME=gtk2 в мой / etc / environment и затем перезагрузиться. Но оба они не сработали.

Что мне нужно сделать, чтобы решить эту проблему?

...