Salut a tous !
Dans le cadre du dévellopement d'un jeux de morpion, je suis amené, pour gérer l'affichage à utiliser la fonction gdk_pixbuf_new_from_file.
Seulement, lors des tests il est apparût qu'elle occasionait une erreur de segmentation. Ne trouvant pas l'erreur, j'ai décidé de tester un petit programme n'utilisant que cette fonction pour voire ce que ça donne.

Le voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <gdk-pixbuf/gdk-pixbuf.h>
#include <glib/gprintf.h>
 
int
main (void)
{
  GError * error = NULL;
  GdkPixbuf* pPixBufA;
 
  pPixBufA = gdk_pixbuf_new_from_file("/usr/share/pixmaps/arch-logo.png", &error);
 
  if (pPixBufA == NULL && error != NULL)
  {
     g_printf ("%s\n", error->message);
     g_error_free (error);
  }
}
Pour la compilation, j'ai utilisé la commande suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
gcc -g main.c -o  main `pkg-config --cflags --libs gtk+-2.0 gthread-2.0 gobject-2.0`
A l'execution, le programme me renvoie ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
(process:11344): GLib-GObject-CRITICAL **: gtype.c:2458: initialization assertion failed, use IA__g_type_init() prior to this function
 
(process:11344): GLib-CRITICAL **: g_once_init_leave: assertion `initialization_value != 0' failed
 
(process:11344): GLib-GObject-CRITICAL **: g_object_new: assertion `G_TYPE_IS_OBJECT (object_type)' failed
En debugant avec gdb, j'oberve que l'exection se termine à cause d'un segmentation fault.
Voici ce que m'indique gdb :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
Program received signal SIGSEGV, Segmentation fault.
0x00007f5c15580e66 in gdk_pixbuf_new_from_data ()
   from /usr/lib/libgdk_pixbuf-2.0.so.0
Donc voilà j'aimerai donc savoir pourquoi ces petites lignes de codes génèrent ces erreurs, ce qui me semble assez bizarre.
Merci d'avance pour votre aide.