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. С++ без проблем.

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


person Wren    schedule 14.07.2013    source источник


Ответы (1)


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

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

person murrayc    schedule 02.10.2013
comment
Только что увидел это - только что попробовал еще раз, и я в деле! Спасибо за внимание! - person Wren; 20.04.2014