voici mon code enregistré dans essaigtk.c
#include <stdlib.h>
#include <gtk/gtk.>
int main(int argc, char **argv)
{
/* Initialisation de GTK+ */
gtk_init(&argc, &argv);
return EXIT_SUCCESS;
}
ma question est quelles commandes tapé pour la compiler ?
je suis débutant avec gcc mais pas en programmation (enfin si on veux)
merci
aussi
# pkg-config est ton ami
Posté par Bruno Muller . Évalué à 4.
[^] # Re: pkg-config est ton ami
Posté par arnohoho . Évalué à 1.
voila ce que craignais:
Package gtk+-2.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtk+-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtk+-2.0' found
essaigtk.c:2:20: gtk/gtk.: No such file or directory
donc je dois installer gtk+-2.0
je l'ai télécharger decompresse le fichier puis ./configure
configure: error: Library requirements (glib-2.0 >= 2.0.0 atk >= 1.0.0 pango >= 1.0.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them
ok j'install glib-2.0 sans probleme puis au tour de atk qui me dis
checking for GLIB - version >= 2.0.0...
*** 'pkg-config --modversion glib-2.0' returned 2.0.0, but GLIB (2.4.6)
*** was found! If pkg-config was correct, then it is best
*** to remove the old version of GLib. You may also be able to fix the error
*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing
*** /etc/ld.so.conf. Make sure you have run ldconfig if that is
*** required on your system.
*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH
*** to point to the correct configuration files
donc je s'uposse que je dois désinstaller glib2.0 car j'ai déja la version 2.4.6 ?
oui mais comment faire ? (je suis un noob mais j'essaye de m'amélioré)
[^] # Re: pkg-config est ton ami
Posté par Anonyme . Évalué à 4.
[^] # Distrib ?
Posté par Bruno Muller . Évalué à 2.
[^] # Re: Distrib ?
Posté par arnohoho . Évalué à 1.
[^] # Re: Distrib ?
Posté par Laurent Go . Évalué à 2.
# libgtk+-2.0devel installer mais...
Posté par arnohoho . Évalué à 1.
si je tape:
pkg-config --modversion gtk+-2.0
il me renvoie:
2.4.9
(ce qui me fais penser que c'est installé)
donc j'essaye de compiler mon fichier essaigtk.c:
gcc `pkg-config --cflags --libs gtk+-2.0` /home/arno/essaigtk.c -o essaigtk
et il me dis ceci:
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgdk-x11-2.0.so: undefined reference to `g_unsetenv'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_str_has_prefix'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_object_interface_find_property'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_type_instance_get_private'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_completion_complete_utf8'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgdk-x11-2.0.so: undefined reference to `g_fprintf'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_param_spec_get_redirect_target'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_object_class_override_property'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_type_class_add_private'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_object_interface_install_property'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_markup_printf_escaped'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgdk-x11-2.0.so: undefined reference to `g_get_application_name'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_value_take_string'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_sprintf'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_str_has_suffix'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libgtk-x11-2.0.so: undefined reference to `g_markup_vprintf_escaped'
/usr/lib/gcc/i586-mandrake-linux-gnu/3.4.1/../../../libpango-1.0.so: undefined reference to `g_unichar_get_mirror_char'
collect2: ld returned 1 exit status
je suppose que gtk est mal installer...
quel casse tête enfin merci de votre aide en tous cas, bientot si ça marche je pourrai programmé en c sur linux !
merci encore
à oui le contenu de mon fichier c:
#include <stdlib.h>
#include <gtk/gtk.h>
int main(int argc, char **argv)
{
/* Initialisation de GTK+ */
gtk_init(&argc, &argv);
return EXIT_SUCCESS;
}
[^] # bien installer je confirme
Posté par arnohoho . Évalué à 1.
Tout est déjà installé
[root@localhost arno]#
bien installer non alors qu'est-ce qu'il me fais ?
[^] # Re: bien installer je confirme
Posté par Adrien BUSTANY (site web personnel) . Évalué à 1.
[^] # Re: bien installer je confirme
Posté par abraxas . Évalué à 1.
d'installer les rpms Mandrake que de compiler puis installer (./configure, make, make install).
De ce que j'ai compris, tu as installé une glib après l'avoir compilée sur une glib déjà existante.
[^] # Re: bien installer je confirme
Posté par arnohoho . Évalué à 1.
2.0.0
est-ce que cela veux dire que c'est bon
que me conseiller vous désinstaller et reinstaller mes packtage de developpement ?
[^] # ok
Posté par arnohoho . Évalué à 1.
merci
comme ça?
gcc `pkg-config --libs --cflags gtk+-2.0` `glib-config --cflags --libs` essaigtk.c -o essaigtk
ou?
gcc `pkg-config --libs --cflags gtk+-2.0 glib-config --cflags --libs` essaigtk.c -o essaigtk
[^] # Re: ok
Posté par Bruno Muller . Évalué à 1.
[^] # Re: ok
Posté par arnohoho . Évalué à 1.
ah quel merdier vais y arriver !
[^] # Re: ok
Posté par Bruno Muller . Évalué à 1.
Ici, j'ai déjà tout ce qu'il faut avec pkg-config --libs --cflags gtk+-2.0 :
-DXTHREADS -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/X11R6/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lm -lpangoxft-1.0 -lpangox-1.0 -lpango-1.0 -lgobject-2.0 -lgmodule-2.0 -ldl -lglib-2.0
# merci encore
Posté par arnohoho . Évalué à 1.
et puis je verai bien demain j'ai du merder quand j'ai compiler moi même la glib alors quel était déja installer....
allez à plus merci
[^] # Re: merci encore
Posté par Ph Husson (site web personnel) . Évalué à 2.
Il FAUT utiliser les paquets de ta distrib!
La t'as compilés la glib 2.0.0
Or le gtk que t'as sur ta mandrake ca doit être un ~ 2.4, qui a besoin de glib 2.4!
et ne le compile pas!
Ca sert à RIEN
urpmi glib2-devel ou un truc du genre suffit!
PS:Je sais ils marquent glib2-2.0 comme nom meme pour glib2-2.4 mais bon faut pas chercher c'est issu du projet gnome/gimp donc faut pas chercher
PPS:Désolé pour l'abus de html mais la fallait que je me soulage
[^] # j'ai écouté !
Posté par arnohoho . Évalué à 1.
après sous vos consiel j'ai utiliser uniquement les rpm, gtk+-2.0 devel semble bien installer mais c'est donc glib qui semble pauser problème
car si je tape
[root@localhost arno]# urpmi glib2-devel
il me répond ceci :
Tout est déjà installé
donc ??
j'ai du foutre la merde en compilant la glib moi même au début !
est-ce que mon expliquation est compréhensible ?
je pense donc désinstaller glib devel avec urmpi, je me demande si c'est ce que je dois faire...
voila voila bonne journée a tous
(ps si vous avez un petit conseil pour moi n'hésitez pas!)
[^] # Re: j'ai écouté !
Posté par Christophe Fergeau . Évalué à 1.
# ça maaaaaachhhhhhhhhhhhhhhheeeeeeeeeeeeee !!!!!!!!!!!!!!!!!!!
Posté par arnohoho . Évalué à 1.
lol
bah j'ai désinstaller libglib-devel-2.0 avec les gestionnaire de packtage de mandrake 10.1 (je sais pas comment il s'appelle)
puis je l'ai réinstaller avec urpmi et voila ça fonctionne correctement
merci de votre aide et puis je retiens la leçon utiliser les packtage !
a bientot
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.