Bonjour à tous,
J'ai un programme en GTK+ que j'essaye de compiler sous visualC++ express 2005.
Lorsque je compile, j'ai les erreurs suivantes:
Cependant, j'ai bien mis #include <gtk/gtk.h> en en-tête.Code:
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 error C2275: 'GdkPixbuf' : illegal use of this type as an expression see declaration of 'GdkPixbuf' error C2065: 'pixel' : undeclared identifier error C2275: 'guchar' : illegal use of this type as an expression see declaration of 'guchar' error C2065: 'data' : undeclared identifier warning C4047: '=' : 'int' differs in levels of indirection from 'GdkPixbuf *' warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_pixels' : different types for formal and actual parameter 1 warning C4047: '=' : 'int' differs in levels of indirection from 'guchar *' warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'const GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gdk_pixbuf_get_width' : different types for formal and actual parameter 1 error C2109: subscript requires array or pointer type warning C4047: 'function' : 'GdkPixbuf *' differs in levels of indirection from 'int' warning C4024: 'gtk_image_new_from_pixbuf' : different types for formal and actual parameter 1 warning C4022: 'g_object_unref' : pointer mismatch for actual parameter 1 warning C4047: '=' : 'int' differs in levels of indirection from 'void *'
J'ai également mis les lignes suivantes dans les options du compilateur:
Répertoire du Dossier Bin (contenant les dll, etc...) :
C:\Program Files\Pack GTK+\bin
Répertoire du dossier Lib (contenant le fichiers .lib) :
C:\Program Files\Pack GTK+\lib
Répertoire des dossiers Include (contenant les fichiers .h et .c) :
C:\Program Files\Pack GTK+\include
C:\Program Files\Pack GTK+\include\atk
C:\Program Files\Pack GTK+\include\cairo
C:\Program Files\Pack GTK+\include\cairo\src
C:\Program Files\Pack GTK+\include\glib
C:\Program Files\Pack GTK+\include\glib\build
C:\Program Files\Pack GTK+\include\glib\glib
C:\Program Files\Pack GTK+\include\glib\gmodule
C:\Program Files\Pack GTK+\include\glib\gobject
C:\Program Files\Pack GTK+\include\glib\gthread
C:\Program Files\Pack GTK+\include\gtk+
C:\Program Files\Pack GTK+\include\gtk+\contrib
C:\Program Files\Pack GTK+\include\gtk+\gtk
C:\Program Files\Pack GTK+\include\gtk+\gdk
C:\Program Files\Pack GTK+\include\gtk+\gdk-pixbuf
C:\Program Files\Pack GTK+\include\gtk+\modules
C:\Program Files\Pack GTK+\include\libpng
C:\Program Files\Pack GTK+\include\libpng\contrib
C:\Program Files\Pack GTK+\include\pango
C:\Program Files\Pack GTK+\include\pango\modules
C:\Program Files\Pack GTK+\include\pango\pango
C:\Program Files\Pack GTK+\include\tiff
C:\Program Files\Pack GTK+\include\tiff\libtiff
C:\Program Files\Pack GTK+\lib\glib\include
C:\Program Files\Pack GTK+\lib\gtk+\include
De plus j'ai également ajouté les lignes suivantes dans project-> properties -> linker -> input -> additional dependencies:
glib-2.0.lib
pangocairo-1.0.lib
pangowin32-1.0.lib
atk-1.0.lib
gdk_pixbuf-2.0.lib
gdk-win32-2.0.lib
pango-1.0.lib
gmodule-2.0.lib
gobject-2.0.lib
gthread-2.0.lib
gtk-win32-2.0.lib
cairo.lib
Enfin, j'ai fait la manipulation suivante :
Pour Visual C++, il faut modifier les ressources du logiciel pour que les Dépendances supplémentaires soient automatiquement mises dans les Options des Projets .
Allez donc dans le dossier VCProjectDefaults qui se trouve dans les ressources du logiciel, par défaut ici :
C:\Program Files\Microsoft Visual Studio 8\VC\VCProjectDefaults
Ouvrez le fichier corewin_express.vsprops avec un éditeur de texte.
Remplacez la ligne 8 par :
AdditionalDependencies = "kernel32.lib glib-2.0.lib pangocairo-1.0.lib pangowin32-1.0.lib atk-1.0.lib gdk_pixbuf-2.0.lib gdk-win32-2.0.lib pango-1.0.lib gmodule-2.0.lib gobject-2.0.lib gthread-2.0.lib gtk-win32-2.0.lib cairo.lib"/>
Je ne sais vraiment pas d'où vient l'erreur et je ne sais plus quoi faire pour faire fonctionner mon programme. En espérant trouver réponse parmi vous.
Merci d'avance.