g ++ — GTKmm3 (GTK + 3 C ++) компилируется, но выдает ошибку GLib-GIO-CRITICAL при запуске

Я только начал пытаться заставить GTK + 3 работать с C ++ и попытался скомпилировать самый простой пример GTKmm Hello-World.

#include <gtkmm.h>

int main(int argc, char *argv[])
{
Glib::RefPtr<Gtk::Application> app =
Gtk::Application::create(argc, argv,
"org.gtkmm.examples.base");

Gtk::Window window;
window.set_default_size(200, 200);

return app->run(window);
}

После компиляции с:

g++ simple.cc -o simple `pkg-config gtkmm-3.0 --cflags --libs`

Там нет ошибок, однако, когда я запускаю недавно скомпилированное приложение с:

./simple

Я получаю следующую ошибку:

GLib-GIO-CRITICAL **: g_application_list_actions: assertion `application->priv->is_registered' failed
Segmentation fault (core dumped)

Код был скопирован, без изменений из https://developer.gnome.org/gtkmm-tutorial/stable/sec-basics-simple-example.html.en так что, вероятно, это проблема конфигурации, однако я часто использовал эту машину для PyGtk и CommandLine C ++ без каких-либо проблем.

Любая помощь будет принята с благодарностью.

1

Решение

Это была ошибка в gtkmm (вероятно, вызванная изменением GTK +), которая была исправлена ​​в gtkmm:
https://git.gnome.org/browse/gtkmm/commit/?id=506cba376c0a0e09217ad7f5d597b6723d7f91a6

Может быть, вы можете обновить свою версию GTKMM.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]