2012-05-25 28 views
5

He compilado con éxito el siguiente programa simple.cc:Significado del error de aserción-CRÍTICO GLib-GIO

#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); 
} 

con el siguiente comando:

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

Lo que me dio el ejecutable simple, pero cuando Traté de ejecutarlo, me salió el siguiente error:

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

Por lo que puedo ver, tengo lo último y mejor Paquetes de GLib Estoy ejecutando Ubuntu 12.04 LTS.

Respuesta

12

Tuve el mismo problema que acabo de comenzar en el mismo tutorial. Reemplazar:

Gtk::ApplicationWindow window; 

con

GTK::Window window; 

Si usted lee la descripción del código en el tutorial de este último es en realidad el código que se discute. Al hacer este cambio, el programa funcionó para mí.

+0

¡Funcionó! ¡Gracias! – mring

0

Intente conectar su ventana a la instancia de la aplicación. Créelo como esto:

Gtk::ApplicationWindow window(app); 
+0

Gracias por la sugerencia, pero sigo teniendo el mismo error. – mring

Cuestiones relacionadas