GLib-GIO-CRITICAL断言错误的含义

时间:2012-05-25 15:00:48

标签: ubuntu runtime-error glib

我成功编译了以下程序simple.cc:

#include <gtkmm.h>

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

  Gtk::ApplicationWindow window;

  return app->run(window);
}

使用以下命令:

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

这给了我简单的可执行文件,但是当我尝试运行它时,我收到以下错误:

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

据我所知,我有最新最好的GLib包。我正在运行Ubuntu 12.04 LTS。

2 个答案:

答案 0 :(得分:12)

我遇到的问题与刚刚开始使用同一个教程的问题相同。 替换:

    Gtk::ApplicationWindow window;

    GTK::Window window;

如果你阅读了教程中代码的描述,后者实际上是讨论的代码。进行此更改使该程序适合我。

答案 1 :(得分:0)

尝试将窗口连接到应用程序实例。像这样创建它:

Gtk::ApplicationWindow window(app);