Forum Linux.débutant gtk

Posté par  .
Étiquettes : aucune
0
12
déc.
2005

salut à tous

je suis sous mandriva 2006

je debute sous linux ( 6 mois utilisation )

et pour etre honnete j'ai une tres mauvaise opinion de linux en general

j'etais sous red hat 9

j'ai voulu faire un programme en C et GTK

compiler en C = Ok

compiler en C + GTK = pas de lib ou de je ne sais toujours pas quoi

j'ai installer mandriva 2006 en pensent que ca serait plus simple

resultat meme PB

j'ai compiler ce code:

include <stdio.h>

include <stdlib.h>

include <gtk/gtk.h>

void OnDestroy(GtkWidget *pWidget, gpointer pData);

int main(int argc,char **argv)

{

/* Declaration du widget */

GtkWidget *pWindow;

gtk_init(&argc,&argv);

/* Creation de la fenetre /

pWindow = gtk_window_new(GTK_WINDOW_TOPLEVEL);

/
Definition de la position /

gtk_window_set_position(GTK_WINDOW(pWindow), GTK_WIN_POS_CENTER);

/
Definition de la taille de la fenetre /

gtk_window_set_default_size(GTK_WINDOW(pWindow), 320, 200);

/
Titre de la fenetre /

gtk_window_set_title(GTK_WINDOW(pWindow), "Chapitre Fenetre");

/
Connexion du signal "destroy" /

g_signal_connect(G_OBJECT(pWindow), "destroy", G_CALLBACK(OnDestroy), NULL);

/
Affichage de la fenetre /

gtk_widget_show(pWindow);

/
Demarrage de la boucle evenementielle */

gtk_main();

return EXIT_SUCCESS;

}

void OnDestroy(GtkWidget pWidget, gpointer pData)

{

/
Arret de la boucle evenementielle */

gtk_main_quit();

}

avec la commande :

gcc 'pkg-config --cflags --libs gtk+-2.0' -o monprog GTKF.c

j'ai obtenu :

[123@localhost PGTK]$ gcc -c GTKF.c

GTKF.c:3:21: gtk/gtk.h: Aucun fichier ou répertoire de ce type

GTKF.c:5: erreur d'analyse syntaxique avant le jeton « * »

GTKF.c: Dans la fonction « main »:

GTKF.c:10: « GtkWidget » non déclaré (première utilisation dans cette fonction)

GTKF.c:10: (Chaque identificateur non déclaré est rapporté une seule fois

GTKF.c:10: pour chaque fonction dans laquelle il apparaît.)

GTKF.c:10: « pWindow » non déclaré (première utilisation dans cette fonction)

GTKF.c:15: « GTK_WINDOW_TOPLEVEL » non déclaré (première utilisation dans cette fonction)

GTKF.c:17: « GTK_WIN_POS_CENTER » non déclaré (première utilisation dans cette fonction)

GTKF.c: Au niveau supérieur:

GTKF.c:34: erreur d'analyse syntaxique avant le jeton « * »

[123@localhost PGTK]$

ps : je lis pas l'anglais

MERCI DE M'AIDE SI VOUS AVEZ LA SOLUTION

  • # ...

    Posté par  . Évalué à 2.

    et pour etre honnete j'ai une tres mauvaise opinion de linux en general

    Pourquoi avoir migré dans ce cas ? En quoi ton precedent OS ne te satisfaisait pas ?

    Pour ton probleme, essayes d'installer le paquet de developpement correspondant a gtk (ou gtk2, les deux versions peuvent coexister donc attention à celle que tu souhaites utiliser; n'aurais tu pas installer une version a la place d'une autre ?) et tout devrait aller mieux: je ne suis pas un utilisateur et encore moins un specialiste de mandriva, mais je ne crois pas dire de betise en t'indiquant que ce paquet se nomme gtk-dev ou libgtk-dev (qqchose dans ce genre).

    Dans les distributions de type mandrake ou redhat, tu as generalement 2 paquets pour une bibliotheque: les binaires d'une part, et les en tetes de developpement d'autre part.

    Essayes d'éviter d'avoir des opinions sur un sujet "en general", ca te reservera d'agreable surprise :)
    • [^] # Re: ...

      Posté par  . Évalué à 1.

      j'ai migre vers linux pour plusieur raison

      - j'ai toujour entendu dire que linux etait mieux que windows
      ( apres 6 mois utilisation je ne vois pas pourquoi - peut etre la gratuite )

      - j'ai voulu developpe une application sous windows mais un kit de developpement (visual studio) coute plutot cher et sous linux ca ne coute rien et c'est libre ( linux contre les brevet logiciel pas windows ou plutot MS )

      - mon opinion est venu apres utilisation de linux

      - installation de programme complique
      - il manque toujours un fichier
      - la plupart des explication installation sont en anglais ( experience personnel : driver video, xine, gtk , la liste est longue )
      - a quoi bon avoir une interface graphique si il faut utiliser des commandes en mode texte (console) j'ai l'impression que linux est fait pour les nostalgique du mode msdos
      - une autre impression : linux est "reserver" au etudiant en informatique

      pour revenir à mon PB :

      comment savoir ce qu'il y a d'installer ou pas ?
      • [^] # Re: ...

        Posté par  . Évalué à 3.

        Tu as tout ce qu'il faut sous windows pour developper tout ce que tu veux sans debourser un kopec (si ce n'est la licence windows): va faire un tour sur framasoft.net ...
        Tes difficultes viennent du fait que tu effectues une migration vers un systeme completement different qu'il va te falloir apprivoiser comme tu as apprivoise msdos et windows en leur temps: en particulier, il te faudra comprendre que la console sous unix est bien plus puissante que ce que tu as pu connaitre sous dos.

        pour ton probleme: "rpm -qa" liste tous les paquets installes sur ta machine
        • [^] # Re: ...

          Posté par  . Évalué à 1.

          qui t'a faire de la programmation libre autant la faire sous linux

          qu'est ce qu'il me faut trouver comme fichier pour developpez avec gtk ?
          • [^] # Re: ...

            Posté par  . Évalué à 2.

            Pascal Terjan t'as répondu à ce sujet :

            Posté par Pascal Terjan (page perso, envoyer un message privé) le 12/12/2005 à 21:58. (lien). Évalué à 2.
            Tout d'abord il faut utiliser ` pas ' autour de pkg-config --cflags --libs gtk+-2.0

            Ensuite vérifies que tu as bien installé libgtk+2.0_0-devel



            Par contre, je pense que je serais de bon conseil en te recommandant d'apprendre la programmation en commençant par les bases, avant de vouloir faire immédiatement du graphique. Ce n'est pas recommandable de passer à la prog avec des libs gtk si tu n'as pas encore dépassé le stade "hello world".

            Dans le cas contraire, si tu ne souhaites pas apprendre la programmation en profondeur et que tu as *besoin* d'écrire vite fait une petite appli, il te seras beaucoup plus simple d'apprendre le python, le perl ou tout autre langage interpreté, que le C.
        • [^] # Re: ...

          Posté par  . Évalué à 1.

          dos d'hier à console linux d'aujourd'hui
          est pourquoi pas le premier char à boeuf et la dernier ferrari aussi
      • [^] # Re: ...

        Posté par  . Évalué à 5.

        - j'ai toujour entendu dire que linux etait mieux que windows

        C'est malheureusement une plaie pour linux, quand quelqu'un conseille linux à un utilisateur de windows en donnant pour seul argument qu'il serait "mieux". En réalité, c'est beaucoup plus qu'une histoire de "mieux" ou "moins bien".

        - j'ai voulu developpe une application sous windows mais un kit de developpement (visual studio) coute plutot cher et sous linux ca ne coute rien et c'est libre ( linux contre les brevet logiciel pas windows ou plutot MS )

        Entre nous, si c'est seulement la gratuité qui te pousses à linux, microsoft te files une version gratuite de visual studio, Visual Studio Express. Cherches sur google.

        Si la philosophie du libre t'intéresses, alors il faut épouser à la fois ses qualités mais aussi ses défauts. Cela fait des années que j'utilise plus ou moins linux, seulement quelques mois que j'ai complètement switché tous mes ordinateurs, avec la perte d'applications windows qui m'aidaient beaucoup. Mais je suis tellement sous le charme de l'idée du free software que je suis prêt à troquer les logiciels propriétaires contre du free, même quand c'est parfois moins bon (dans le monde de la photographie par exemple). Les logiciels libres, ont des côtés qui dépassent le proprio, tout comme ils sont parfois inférieurs. Mine de rien,c'est *vrai*, openoffice n'est pas meilleur que MS office, the gimp est moins bon que photoshop.. mais apache est meilleur qu'IIS, les interfaces graphiques sont bien plus modernes que winXP, les lecteurs multimédia sont d'excellente qualité et servent tous les besoins, l'os derrière le capot est bien plus solide jusqu'au firewall, le logiciel libre a pour sujet : le choix, la portabilité, la liberté (voir le nombre de filesystems supportés, d'architectures, l'os est entièrement paramétrable aux petits oignons, les logiciels qui fonctionnent à la fois sous les unix propriétaire, sous macos, sous linux, *bsd, solaris, windows.. c'est ça, le freesoftware, aussi.)
        Le logiciel libre est un monde merveilleux. Ce n'est pas seulement une concurrence technique aux OS proprio, mais bien plus que ça.

        - installation de programme complique

        En général, c'est bien plus simple que sous windows. Les packages managers de linux sont très au point.
        Ca peut te paraitre compliqué si tu as toujours vécu avec windows, car ton avis est biaisé : ton expérience longue avec windows te fais dire que linux c'est plus dur. Mais si tu commençais à apprendre windows from scratch, si tu devais oublier toutes tes années à l'utiliser, les deux se vallent niveau difficulté, quand on commence à utiliser l'outil informatique sans passé. Je donnerais peut-être même un point en faveur de linux.
        C'est dur, parce que tu changes d'habitudes. Si ça se trouve, tu aurais pu trouver windows difficile, et avec raison, si tu avais appris à utiliser linux ou macos avant. D'autant plus quand on voit ce qu'on a après une installation de windows longue d'une heure et demi : un système nu, sans rien d'utilisable. La même chose sous linux ? un système complet avec quasiment tous les logiciels dont tu peux avoir besoins, installés en même temps que l'OS dans un temps record. Les drivers ? à moins d'avoir du matériel un peu trop exotique, les distro linux autoconfigurent le système mieux que windows et ont plus de drivers intégrés. Surtout que winXP se fait vieux, à ce niveau là, et requiert pas mal de drivers après une install.

        - il manque toujours un fichier

        Ce dont tu as besoin est présent la plupart du temps sur les CDs de la distro. Si un driver manque, mais qu'il existe et est fonctionnel, le télécharger et lire le readme ne te prendras pas plus de temps que sous windows :|. A ce propos, ta phrase est bien plus valable dans le cas de windows, vu qu'il manque tout, une fois l'OS installé. Drivers, logiciels.. il manque tout. Un système nu et inutilisable à moins de passer son temps sur le flipper.

        - la plupart des explication installation sont en anglais ( experience personnel : driver video, xine, gtk , la liste est longue )

        C'est le cas pour certaines choses, assez variable. La communauté francophone est loin d'être ridicule actuellement et ne peut que s'agrandir.

        Ce que je vais dire va peut-être mal sonner aux oreilles de certains, ceci dit, mais je pense que linux ou non, il est mal venu de ne pas savoir lire un minimum d'anglais basique quand on utilise internet, pour tout un tas de raisons. J'ai raté ma scolarité (arrêté en troisième) et je n'ai jamais eu de problème pourtant à lire des howto, des docs, pages de man, forums, de temps en temps des mailing-lists.. un peu d'effort cérébral n'est peut-être pas de trop. De plus, tu comptes apprendre à programmer, savoir lire des petites docs technique en anglais ne sera jamais de trop dans ton cas, même sous windows. Un jour quand tu butteras sur un problème très très précis, que tu fais une petite recherche google et tombes sur des pages anglaises de mailing lists, forums, ou autre, tu remercieras le ciel de lire l'anglais convenablement. C'est valable plus que pour l'informatique, même.

        - a quoi bon avoir une interface graphique si il faut utiliser des commandes en mode texte (console) j'ai l'impression que linux est fait pour les nostalgique du mode msdos

        La ligne primitive de commande msdos n'a rien à voir avec ce que l'on peut faire sous linux et l'environnement qui nous est offert. Ce n'est pas parce que c'est du mode texte que la qualité des programmes est aussi vieille que le dos.
        Du moment que tu as un X et des outils graphiques fonctionnels, tu n'en as guère *besoin*. Mais voyons la réalité en face : il est bien plus rapide de taper vi /etc/fichierdeconfiguration.conf que d'ouvrir nautilus ou konqueror en superutilisateur, de naviguer dans les trois tonnes de fichiers de /etc/* pour enfin cliquer sur le bon fichier de conf. Sans oublier les risques que cela comporte d'utiliser un navigateur de fichiers en superutilisateur.
        En ce sens, linux est bien mieux conçu que windows. Les clickodrome ont leur limite, la ligne de commande est parfois plus rapide à utiliser.
        Ne sous-estimes pas ce que tu peux faire avec le clavier. Il te rendra bien des services.

        - une autre impression : linux est "reserver" au etudiant en informatique

        Saurais-tu argumenter ce point ? la seule force de windows provient du fait qu'il est livré en standard avec toutes les machines, évitant aux gens de l'installer eux même et d'apprendre à utiliser un ordinateur. Cela va bientôt changer, de plus en plus d'efforts sont faits pour un linux préinstallé de base sur des PC, à côté des offres win.
        Linux à l'utilisation n'est pas plus compliqué, il est *différent*. Les gens qui croient qu'on utilise un ordinateur sans RTFM, je vois où ça mène : tous les 2 à 3 mois je vais dépanner la machine d'un cousin qui est toujours broken, pleine de spywares (Car, croire qu'on peut utiliser un ordinateur juste en lisant ce qui est écrit dans l'interface graphique, ça mène à cliquer oui partout où on te le demandes.) et virus. Le fait de forcer les gens à comprendre un peu mieux leur système sous linux leur donne des automatismes plus sain que sous windows. Moins de clicks sans réfléchir.

        comment savoir ce qu'il y a d'installer ou pas ?

        D'autres t'ont déjà donné la commande rpm utile. Je vais rajouter en plus qu'il te serait fortement utile de lire la doc d'urpmi pour savoir comment installer un paquet avec ton package manager.


        ------

        Sache que je ne dénigre pas techniquement windows, mais je mets les points sur les 'i' là où il n'est pas réellement supérieur.
        En tant qu'os sur le desktop, j'aurais tendance à dire que windows est supérieur à linux à cause de pas mal de logiciels proprio d'excellente qualité, de chez adobe, corel, steinberg et bien d'autres. Mais si on pars de ce principe, MacOS X a tout ça aussi derrière un OS bien plus robuste et une interface étudiée pour ceux qui ne veulent pas se prendre la tête. Je n'ai jamais compris pourquoi Apple n'a pas su percer dans le grand public même avec OSX. OSX est bien supérieur à windows sur le desktop.

        Du reste, linux a de très nombreux avantages. Et la philosophie du libre est sa principale raison d'exister, même si ce n'est pas ce qui a poussé Linus Torvalds à développer son OS.

        Bienvenue dans l'univers du free software, et bonne chance. :]
        J'espère que tu sauras être sensible à la liberté qui t'es offerte, comparativement au monde fermé de microsoft qui ne peut qu'aller du mauvais sens vers l'avenir, avec les quelques innovations en matière de fermeture que va poser vista.
        • [^] # Re: ...

          Posté par  . Évalué à -1.

          apres avoir lu tous ca

          euh c'etait quoi la question
  • # Alors

    Posté par  (site web personnel) . Évalué à 2.

    Tout d'abord il faut utiliser ` pas ' autour de pkg-config --cflags --libs gtk+-2.0

    Ensuite vérifies que tu as bien installé libgtk+2.0_0-devel
    • [^] # Re: Alors

      Posté par  . Évalué à 1.

      comment je verifie que libgtk+2.0_0-devel

      est bien installe
      • [^] # Re: Alors

        Posté par  (site web personnel) . Évalué à 2.

        par exemple avec la commande suivante :

        rpm -qa | grep gtk

        ou les outils graphiques de mandriva

        cf. la doc de mandriva :

        http://wwwnew.mandriva.com/fr/community/users/documentation
        • [^] # Re: Alors

          Posté par  . Évalué à 1.

          voila le resultat de rpm -qa | grep gtk

          libgtkhtml2_0-2.6.3-3mdk
          libguile-gtk-1.2_0-0.31-9mdk
          pygtk2.0-wrapper-2.6.2-1mdk
          gtksourceview-1.2.1-1mdk
          gtk-themes-1.0-10mdk
          gtk+2.0-2.8.3-4mdk
          guile-gtk-1.2-0.31-9mdk
          pygtk2.0-libglade-2.6.2-1mdk
          libgtk+2.0_0-2.8.3-4mdk
          gtkdialogs-2.1-1mdk
          gtk-engines-0.12-9mdk
          libgtksourceview-1.0_0-1.2.1-1mdk
          gtktalog-1.0.4-4mdk
          libgtk+-x11-2.0_0-2.8.3-4mdk
          libgtk-linux-fb-2.0_0-2.4.14-5mdk
          gtk-engines2-2.6.5-2mdk
          libgtkspell0-2.0.10-1mdk
          libexif-gtk5-0.3.5-1mdk
          gtkam-0.1.12-8mdk
          gtkhtml-3.6-3.6.2-3mdk
          libgtk+1.2-1.2.10-41mdk
          pygtk2.0-2.6.2-1mdk
          libgtkhtml1.1_3-1.1.10-7mdk
          gtkspell-2.0.10-1mdk
          libgtkhtml-3.6_18-3.6.2-3mdk
          gtkeyboard-1.1.8-8mdk

          pas de : libgtk+2.0_0-devel

          apres avoir cherche sur google un tel fichier :
          resultat : je cherche
  • # Hum, hum

    Posté par  . Évalué à 2.

    Ca fait 6 mois que tu buttes sur ce problème ? (dans un vieux message tu disais avoir teste la mandrake 9 http://linuxfr.org/forums/9/9236.html j'en conclus que tu n'as pas eu de redhat 9 entre temps, ou alors tu as fait un saut dans le temps )

    Tu aurais déjà du demander de l'aide avant. Ou alors, tu es un nouveau Tramo et tu nous refais le GCC Lead Architect.
    • [^] # Re: Hum, hum

      Posté par  . Évalué à -1.

      j'avais mandrake 9 (achetez à la fnac de plus )
      j'ai eu un pb de pilote carte video ( qui n'a jamais ete resolu )
      sur le conseil de certaine personne je suis passer sous red hat 9
      pour ton information j'ai deja fait hello word en C
      mais quand j'ai voulu faire hello word en C + GTK j'ai eu un nouveau Pb ( je commence à avoir l'habitude avec linux )
      alors je suis passer sous mandriva 2006 en esperant ne plus avoir de pb avec GTK ( c'etait sans compter sur linux )
      alors comptant ?
      • [^] # Re: Hum, hum

        Posté par  . Évalué à 4.

        comme ca pour savoir : pourquoi toutes tes reponses sont si aggressives ?
  • # installer des programmes

    Posté par  . Évalué à 1.

    Quand j'ai commencé sous linux, c'était avec la Mandrake 7 si mes souvenirs sont bons et sans connexion internet. Côté convivialité, simplicité et installation de programmes ... ben ! c'est clair y'avait mieux. En plus pour avoir des infos et de l'aide sans internet et sans personne pour m'expliquer -> la galère.

    Mais alors là je proteste ! Depuis le monde de Linux a du évoluer 1358 fois (environ) plus vite que Windows et pour toute personne ayant déjà utiliser un ordinateur (peu importe l'OS), sachant utiliser une souris et lire sa langue maternelle, installer aujourd'hui un programme sous linux et très mais alors très très sérieusement plus simple que sous Windows.

    screugneugneu !!!
  • # qques petits conseils

    Posté par  . Évalué à 1.

    Salut
    J'utilise à 100% linux depuis un an, sans être informaticien ou autres. Etant habitué à exposer tous mes pbs dans ce forum, je te donnerai 2 ou 3 conseils:

    - qqu'un te l'as dit, mais l'agressivité de tes réponses (sans doute dû à un "putain, y'en a marre, j'arrive pas à installer quoi que ce soit!!!!", que j'ai aussi bien connu personnellement), ne t'aidera pas à obtenir des réponses.

    -quant à tes problèmes d'installation, utilise urpmi et va faire un tour à :
    http://easyurpmi.zarb.org/
    ça te permettra d'installer des paquetages sans avoir à te soucier des dépendances.
    et lis aussi la page de manuel de rpm (dans une console: $man rpm)

    -tu changes d'OS sans vouloir en changer: tu ne pourras pas apprécier linux si tu veux l'utiliser comme windows. J'y croyais pas au début, mais effectivement, après un certain temps, tu utilises énormément la console et tu apprends à apprécier ces multiples avantages.

    -lis bien les réponses des "pros" de linux qui circulent dans ce site (dont je ne fais comme tu l'auras compris absolument pas parti), et qui acceptent de donner de leur temps pour nous expliquer à nous les débutants les ficelles de linux

    signé: un ancien nerveux qui a réussi à se calmer, et à apprécier...

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.