Je n'arrive pas a compiler le programme suivant :
http://www.gtk-fr.org/wakka.php?wiki=LesFenetres
Avec la commande:
gcc -o test test.c `pkg-config --cflags --libs gtk+-2.0`
I have:
[tsubasa@localhost test]$ gcc -o test test.c `pkg-config --cflags --libs gtk+-2.0`
Package xrender was not found in the pkg-config search path.
Perhaps you should add the directory containing `xrender.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xrender', required by 'cairo', not found
test.c:2:21: error: gtk/gtk.h: Aucun fichier ou répertoire de ce type
test.c:4: error: syntax error before '*' token
test.c: In function 'main':
test.c:9: error: 'GtkWidget' undeclared (first use in this function)
test.c:9: error: (Each undeclared identifier is reported only once
test.c:9: error: for each function it appears in.)
test.c:9: error: 'pWindow' undeclared (first use in this function)
test.c:14: error: 'GTK_WINDOW_TOPLEVEL' undeclared (first use in this function)
test.c:16: error: 'GTK_WIN_POS_CENTER' undeclared (first use in this function)
test.c: At top level:
test.c:33: error: syntax error before '*' token
I have libGtk+-2.0-devel and cairo devel.
I dont have a xrender.pc file in /usr/lib/pkgconfig/
This mine pkgconfig:
[tsubasa@localhost pkgconfig]$ ls
alsa.pc gmodule-no-export-2.0.pc libxml-2.0.pc
atk.pc gmodule.pc libxslt.pc
audiofile.pc gnome-mime-data-2.0.pc mad.pc
blkid.pc gobject-2.0.pc neon.pc
cairo.pc gok-1.0.pc ogg.pc
com_err.pc gstreamer-0.8.pc openssl.pc
e2p.pc gstreamer-control-0.8.pc pangocairo.pc
esound.pc gthread-2.0.pc pangoft2.pc
ext2fs.pc gthread.pc pango.pc
fluidsynth.pc gtk+-2.0.pc pangoxft.pc
fontconfig.pc gtkcairo.pc pangox.pc
freetype2.pc gtkextra-2.0.pc qt-mt.pc@
gamin.pc gtkgl-2.0.pc samplerate.pc
gdk-2.0.pc gtk+.pc shared-mime-info.pc
gdk.pc gtk+-x11-2.0.pc sndfile.pc
gdk-pixbuf-2.0.pc jack.pc sqlite3.pc
gdk-pixbuf-xlib-2.0.pc lcms.pc ss.pc
gdk-x11-2.0.pc libart-2.0.pc taglib.pc
glib-2.0.pc libexslt.pc uuid.pc
glib.pc libidn.pc vorbisenc.pc
glitz-glx.pc libpcre.pc vorbisfile.pc
glitz.pc libpixman.pc vorbis.pc
gmodule-2.0.pc libpng12.pc xrender.pc.old
gmodule-export-2.0.pc libpng.pc@
[tsubasa@localhost pkgconfig]$
What's wrong ??
PS: J'arrive a compiler sur une kubuntu
# re
Posté par Sylvain (site web personnel) . Évalué à 2.
# savoir lire, c'est mieux.
Posté par Ben (site web personnel) . Évalué à 2.
installe les headers de gtk, ça ira mieux.
(generalement, c'est un paquet dugenre 'gtk-dev')
Tout homme qui dirige, qui fait quelque chose, a contre lui ceux qui voudraient faire la même chose, ceux qui font précisément le contraire, et surtout la grande armée des gens d'autant plus sévères qu'ils ne font rien du tout. -- Jules Claretie
[^] # Re: savoir lire, c'est mieux.
Posté par Sylvain (site web personnel) . Évalué à 2.
[root@localhost tsubasa]# locate gtk.h
/usr/share/gtk-doc/html/gtk/gtk.html
/usr/include/gtk-2.0/gtk/gtk.h
/usr/include/gtk-1.2/gtk/gtk.h
[root@localhost tsubasa]#
[^] # include path
Posté par Ben (site web personnel) . Évalué à 2.
$ pkg-config --cflags gtk+-2.0
pour voir si il y a un path d'indiqué pour les includes de gtk+-2.0 et vérifie que ce path (-I /usr/include...) est le même que celui de ta librairie. Si ce n'est pas le cas, c'est que ton paquet est foireux, ou que tu ne l'a pas bien installé. ajoutes donc ceci:
-I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
dans ta ligne de compilation.
Tout homme qui dirige, qui fait quelque chose, a contre lui ceux qui voudraient faire la même chose, ceux qui font précisément le contraire, et surtout la grande armée des gens d'autant plus sévères qu'ils ne font rien du tout. -- Jules Claretie
[^] # Re: include path
Posté par Sylvain (site web personnel) . Évalué à 2.
Package xrender was not found in the pkg-config search path.
Perhaps you should add the directory containing `xrender.pc'
to the PKG_CONFIG_PATH environment variable
Package 'xrender', required by 'cairo', not found
[tsubasa@localhost ~]$
:/, je n'ai pas de xrender.pc ce qui apparement le bloc ...
Pourtant j'ai:
[tsubasa@localhost ~]$ locate xrender
/usr/include/cairo/cairo-xlib-xrender.h
[tsubasa@localhost ~]$
J'ai desinstaller gtk2 devel et cairo devel pour les reinstaller mais c'est pareil. Le paquetage est plus que douteux. Car avec la meme demarche j'y arrive sur kubuntu :(
[^] # Re: include path
Posté par Sylvain (site web personnel) . Évalué à 2.
[tsubasa@localhost esportpanel2]$ gcc -o test test.c -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include
/home/tsubasa/tmp/ccL3tRxr.o: In function `main':
test.c:(.text+0x29): undefined reference to `gtk_init'
test.c:(.text+0x36): undefined reference to `gtk_window_new'
test.c:(.text+0x41): undefined reference to `gtk_window_get_type'
test.c:(.text+0x4e): undefined reference to `g_type_check_instance_cast'
test.c:(.text+0x5c): undefined reference to `gtk_window_set_position'
test.c:(.text+0x64): undefined reference to `gtk_window_get_type'
test.c:(.text+0x71): undefined reference to `g_type_check_instance_cast'
test.c:(.text+0x87): undefined reference to `gtk_window_set_default_size'
test.c:(.text+0x8f): undefined reference to `gtk_window_get_type'
test.c:(.text+0x9c): undefined reference to `g_type_check_instance_cast'
test.c:(.text+0xad): undefined reference to `gtk_window_set_title'
test.c:(.text+0xc3): undefined reference to `g_type_check_instance_cast'
test.c:(.text+0xdb): undefined reference to `g_signal_connect_data'
test.c:(.text+0xe9): undefined reference to `gtk_widget_show'
test.c:(.text+0xf1): undefined reference to `gtk_main'
/home/tsubasa/tmp/ccL3tRxr.o: In function `OnDestroy':
test.c:(.text+0x106): undefined reference to `gtk_main_quit'
collect2: ld returned 1 exit status
Si quelqu'un a une idée je suis preneur ..
[^] # Re: include path
Posté par Sylvain (site web personnel) . Évalué à 3.
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include
Name: cairo
Description: Multi-platform 2D graphics library
Version: 1.0.0
Requires.private: freetype2 >= 8.0.2 fontconfig xrender libpng12
Libs: -L${libdir} -lcairo
Cflags: -I${includedir}/cairo
Pour avoir ceci:
prefix=/usr
exec_prefix=/usr
libdir=/usr/lib
includedir=/usr/include
Name: cairo
Description: Multi-platform 2D graphics library
Version: 1.0.0
Requires.private: freetype2 >= 8.0.2 fontconfig libpng12
Libs: -L${libdir} -lcairo
Cflags: -I${includedir}/cairo
Et la ca marche avec cette commande:
gcc -o test test.c `pkg-config --cflags --libs gtk+-2.0`
Qui est senser fournir le xrender.pc ? quel package ?
[^] # xrender chez moi
Posté par Ben (site web personnel) . Évalué à 2.
libxrender-dev: usr/lib/pkgconfig/xrender.pc
Tout homme qui dirige, qui fait quelque chose, a contre lui ceux qui voudraient faire la même chose, ceux qui font précisément le contraire, et surtout la grande armée des gens d'autant plus sévères qu'ils ne font rien du tout. -- Jules Claretie
# XRender sur Mandriva 2006.0
Posté par Arnaud . Évalué à 1.
Si ce fichier n'est pas présent sur ton système: urpmi libxorg-x11-devel
[^] # Re: XRender sur Mandriva 2006.0
Posté par Arnaud . Évalué à 1.
J'ai supprimé toutes mes sources urpmi, et j'ai rajouté les sources http (merci urpmi):
urpmi.removemedia -a
urpmi.addmedia plf-free ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/free/(...) with hdlist.cz
urpmi.addmedia plf-nonfree ftp://ftp.free.fr/pub/Distributions_Linux/plf/mandrake/non-f(...) with hdlist.cz
urpmi.addmedia --update updates ftp://ftp.proxad.net/pub/Distributions_Linux/Mandrakelinux/o(...) with media_info/hdlist.cz
urpmi.addmedia main ftp://ftp.proxad.net/pub/Distributions_Linux/Mandrakelinux/o(...) with media_info/hdlist.cz
urpmi.addmedia contrib ftp://ftp.proxad.net/pub/Distributions_Linux/Mandrakelinux/o(...) with media_info/hdlist.cz
Après, j'avais tous les paquets de dev intallables correctement. Pour être sur que tu as tout, tu peux essayer:
urpmi libgtk+2.0_0-devel
Voila, en espérant t'avoir aidé :-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.