IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

GTK+ avec C & C++ Discussion :

Inclusion de fichiers


Sujet :

GTK+ avec C & C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Par défaut Inclusion de fichiers
    à tous le monde,

    J'ai écrit un programme en GTK+ et lors de la compilation, voila les erreurs:

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(23) : error C2275: 'GdkPixbuf' : illegal use of this type as an expression
            c:\program files\pack gtk+\include\gtk+\gdk-pixbuf\gdk-pixbuf-core.h(50) : see declaration of 'GdkPixbuf'
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(23) : error C2065: 'pixel' : undeclared identifier
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(24) : error C2275: 'guchar' : illegal use of this type as an expression
            c:\program files\pack gtk+\include\glib\glib\gtypes.h(47) : see declaration of 'guchar'
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(24) : error C2065: 'data' : undeclared identifier
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(26) : warning C4047: '=' : 'int ' differs in levels of indirection from 'struct _GdkPixbuf *'
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(27) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(27) : warning C4024: 'gdk_pixbuf_get_pixels' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(27) : warning C4047: '=' : 'int ' differs in levels of indirection from 'unsigned char *'
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(42) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(42) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(42) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(42) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(43) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(43) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(43) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(43) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(44) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(44) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(44) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(44) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(48) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(48) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(48) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(48) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(49) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(49) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(49) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(49) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(50) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(50) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(50) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(50) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(54) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(54) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(54) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(54) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(55) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(55) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(55) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(55) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(56) : warning C4047: 'function' : 'const struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(56) : warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(56) : error C2109: subscript requires array or pointer type
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(56) : error C2106: '=' : left operand must be l-value
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(68) : warning C4047: 'function' : 'struct _GdkPixbuf *' differs in levels of indirection from 'int '
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(68) : warning C4024: 'gtk_image_new_from_pixbuf' : different types for formal and actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(71) : warning C4022: 'g_object_unref' : pointer mismatch for actual parameter 1
    C:\Program Files\Microsoft Visual Studio\MyProjects\Affichage en GTK\main.c(72) : warning C4047: '=' : 'int ' differs in levels of indirection from 'void *'
    Error executing cl.exe.
     
    main.obj - 22 error(s), 26 warning(s)
    J'ai surement une erreur dans mon programme mais je ne sais pas où.
    Il y aurait t'il quielqu'un qui pourrait me donner un coup de pouce. Ce serait avec plaisir.

    Merci d'avance.

    Voici mon programme:
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
    #include <gtk/gtk.h>
    #include <stdlib.h>
     
    #define largeur 80
    #define longueur 80 
     
     
    void creation_image(GtkWidget *MainWindow, GtkWidget *image)
    {
    	int i;
    	int j;
    	int compteur=0;
    	int couleur=0;
     
    	gchar *donnee=NULL; // Ce pointeur va pointé sur le début du fichier en mémoire
     
    	// Lecture du fichier et mise en mémoire complet
    	g_file_get_contents("C:\resul.txt", &donnee, NULL, NULL);
     
     
      /* Création de l'image */
     
     GdkPixbuf *pixel=NULL;
     guchar *data=NULL;
     
     pixel=gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, longueur, largeur);
     data=gdk_pixbuf_get_pixels(pixel);
     
     /* Lecture fichier et dessin */
     
     
     
    	for ( i=0; i<longueur; i++)
    	{
    		for (j=0; j<largeur; j++)
    		{ 
    			couleur=(gint)g_ascii_strtod(donnee+compteur, NULL);
     
    			switch (couleur)
    			{
    				case 10: // Couleur verte par exemple
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)]=0;
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)+1]=255;
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)+2]=0;
    				break;
     
    				case 20: // Couleur rouge par exemple
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)]=255;
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)+1]=0;
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)+2]=0;
    				break;
     
    				case 30: // Couleur bleue par exemple
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)]=0;
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)+1]=0;
    					data[(i*3)+(gdk_pixbuf_get_width(pixel)*j*3)+2]=255;
    				break;
    			}
    			compteur++;
    		}
    	}
     
    	// Libération mémoire du fichier
    	g_free(donnee);
    	donnee=NULL; // Evite des problèmes de réutilisation.
     
    	// Création d'un GtkImage en fct du GdkPixbuf
    	image=gtk_image_new_from_pixbuf(pixel);
     
    	// Suppression du GdkPixbuf devenu inutile
    	g_object_unref(pixel);
    	pixel=NULL;
     
    	// Insertion de l'image dans la fenêtre principale
    	gtk_container_add(GTK_CONTAINER(MainWindow), image);
    }
     
     /* Création fenêtre */
     
    int main(int argc, char **argv)
    {
    	/* Variables */
    	GtkWidget * MainWindow = NULL;
    	GtkWidget *image=NULL;
     
    	/* Initialisation de GTK+ */
    	gtk_init(&argc, &argv);
     
    	/* Création de la fenêtre */
    	MainWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    	g_signal_connect(G_OBJECT(MainWindow), "delete-event", G_CALLBACK(gtk_main_quit), NULL);
     
    	// Création de l'image et insertion dans la fenêtre principale
    	creation_image(MainWindow, image);
     
    	/* Affichage et boucle évênementielle */
    	gtk_widget_show_all(MainWindow);
    	gtk_main();
     
    	return 0;
    }

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    Un include manquant pour les GdkPixbuf peut etre ?

  3. #3
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Par défaut
    Je veux bien que l'erreur vienne de là mais quel est l'include manquant?
    J'ai bien mis celui de gtk!

    Merci d'avance

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 259
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 259
    Par défaut
    #include <gdk-pixbuf/gdk-pixbuf.h> comme indiqué dans la doc des GdkPixbuf qui est le 1er type à poser problème ?

  5. #5
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2007
    Messages : 10
    Par défaut
    J'ai rajouté le include, mais rien n'y fait, j'ai toujours les même erreurs de compilation.
    Quelqu'un aurait t'il une idée s'il vous plait!
    Merci d'avance

Discussions similaires

  1. [debutant]inclusion de fichier .js !!!
    Par christophebmx dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2005, 14h16
  2. [Inclusion des fichiers] hierarchie
    Par Casp dans le forum Autres éditeurs
    Réponses: 4
    Dernier message: 09/07/2004, 12h43
  3. XML Schema et inclusions de fichiers XML
    Par monk31 dans le forum XML/XSL et SOAP
    Réponses: 8
    Dernier message: 08/10/2003, 14h17
  4. Inclusion de fichier .h
    Par Tony49 dans le forum C++Builder
    Réponses: 2
    Dernier message: 06/11/2002, 11h10
  5. Inclusion de fichiers en IDL
    Par babou dans le forum CORBA
    Réponses: 10
    Dernier message: 30/07/2002, 16h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo