Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 11-12-2019 14:39:12

Clem
Membre
Lieu : Au coin du bois
Distrib. : Stable
Noyau : 4.9.0-4 *-amd-64
(G)UI : XMonad & Mate
Inscription : 09-03-2010

C et gtk3

Bonjour, j'essais d'apprendre ke langage C.Et partant de la ( https://developer.gnome.org/gtk3/stable … arted.html ) j'essaie de créer une fenetre vide.
Voici le code :


#include <stdio.h>
#include <stdio.h>
#include <gtk/gtk.h>

static void butt (GtkApplication *app,
                    gpointer user_data);

int main (int argc, char **argv)
{
    GtkApplication *import;
    int status;

    import = gtk_application_new ( NULL, G_APPLICATION_FLAGS_NONE);

    g_signal_connect (import,"Activate", G_CALLBACK (butt), NULL);
    status = g_application_run(G_APPLICATION (import), argc, argv);
    g_object_unref(importimp);

    return status;
}

static void butt (GtkApplication *app,
                    gpointer user_data)
{
    GtkWidget *window;
   
    window = gtk_application_window_new (app);
    gtk_window_set_title (GTK_WINDOW (window),"Fenêtre");
    gtk_window_set_default_size(GTK_WINDOW (window),200,200);

    gtk_widget_show_all (window);
}
 



La compilation se deroule bien mais au lieu de l'ouverture d'ne fenêtre j'ai ça:


[16:11:33] clem@Sid >> ./boite

(process:50009): Gtk-CRITICAL **: 16:11:36.032: gtk_application_new: assertion 'application_id == NULL || g_application_id_is_valid (application_id)' failed

(process:50009): GLib-GObject-WARNING **: 16:11:36.032: invalid (NULL) pointer instance

(process:50009): GLib-GObject-CRITICAL **: 16:11:36.033: g_signal_connect_data: assertion 'G_TYPE_CHECK_INSTANCE (instance)' failed

(process:50009): GLib-GIO-CRITICAL **: 16:11:36.033: g_application_run: assertion 'G_IS_APPLICATION (application)' failed

(process:50009): GLib-GObject-CRITICAL **: 16:11:36.033: g_object_unref: assertion 'G_IS_OBJECT (object)' failed
 



Quelqu'un aurait une idée SVP.

Dernière modification par Clem (11-12-2019 16:13:28)


Moi, je suis PC (x86_64) et formater windows, c'était MON idée
Le sommeil de la raison ...

Hors ligne

#2 11-12-2019 16:27:41

Clem
Membre
Lieu : Au coin du bois
Distrib. : Stable
Noyau : 4.9.0-4 *-amd-64
(G)UI : XMonad & Mate
Inscription : 09-03-2010

Re : C et gtk3

J'ai modifié


import = gtk_application_new ( NULL, G_APPLICATION_FLAGS_NONE);
 


en


import = gtk_application_new ( "org.gtk.org", G_APPLICATION_FLAGS_NONE);
 



Je ne me l'explique pas mais ça marchescratchhead.gif

Dernière modification par Clem (11-12-2019 17:03:59)


Moi, je suis PC (x86_64) et formater windows, c'était MON idée
Le sommeil de la raison ...

Hors ligne

#3 11-12-2019 20:46:07

lann
Membre
Distrib. : Debian Buster
Noyau : Linux 4.19.0-8-amd64
(G)UI : XFCE
Inscription : 28-04-2015

Re : C et gtk3

tiré de la documentation de gtk3 :

If no application ID is given then some features (most notably application uniqueness) will be disabled. A null application ID is only allowed with GTK+ 3.6 or later.



Je pense que tu as une version de gtk3 inférieure à 3.6 ?

Hors ligne

#4 12-12-2019 14:20:25

Clem
Membre
Lieu : Au coin du bois
Distrib. : Stable
Noyau : 4.9.0-4 *-amd-64
(G)UI : XMonad & Mate
Inscription : 09-03-2010

Re : C et gtk3

Je ne sais pas quelle version de gtk+ j'utilise ./

Moi, je suis PC (x86_64) et formater windows, c'était MON idée
Le sommeil de la raison ...

Hors ligne

#5 12-12-2019 14:23:05

Clem
Membre
Lieu : Au coin du bois
Distrib. : Stable
Noyau : 4.9.0-4 *-amd-64
(G)UI : XMonad & Mate
Inscription : 09-03-2010

Re : C et gtk3

Ce sont ces deux lignes qui posent probleme :


g_signal_connect (appli,"boite", G_CALLBACK (boite),NULL);
 




status = g_application_run (G_APPLICATION (appli),argc , argv);
 



Je ne vois pas la différence avec le tetxte d'origine:


g_signal_connect (app, "activate", G_CALLBACK (activate), NULL);
  status = g_application_run (G_APPLICATION (app), argc, argv);
 


Moi, je suis PC (x86_64) et formater windows, c'était MON idée
Le sommeil de la raison ...

Hors ligne

#6 12-12-2019 15:05:11

Clem
Membre
Lieu : Au coin du bois
Distrib. : Stable
Noyau : 4.9.0-4 *-amd-64
(G)UI : XMonad & Mate
Inscription : 09-03-2010

Re : C et gtk3

Voici du code qui passe:


 g_signal_connect (appli,"activate", G_CALLBACK (boite),NULL);
 



PS : je suis pas sur d'avoir bien compris mais ça viendra, j'epère kernal_panic.gif

Dernière modification par Clem (12-12-2019 15:07:18)


Moi, je suis PC (x86_64) et formater windows, c'était MON idée
Le sommeil de la raison ...

Hors ligne

Pied de page des forums