GTKmm3(GTK + 3 C ++)编译但运行时抛出GLib-GIO-CRITICAL错误

时间:2013-07-14 08:32:16

标签: c++ g++ gtk3 gtkmm

我刚开始尝试让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 个答案:

答案 0 :(得分:1)

这是gtkmm中的一个错误(可能是由GTK +的更改引起的)已经在gtkmm中修复: https://git.gnome.org/browse/gtkmm/commit/?id=506cba376c0a0e09217ad7f5d597b6723d7f91a6

也许您可以更新gtkmm版本。