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 :

makefile pour gtk


Sujet :

GTK+ avec C & C++

  1. #1
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut makefile pour gtk
    Bonjour

    Je cherche à faire un makefile pour gtk.
    Ma compilation à la main, je la fais avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    gcc  -Wall -W -O2 -ansi -pedantic `pkg-config --cflags --libs gtk+-2.0` main.c
    Je ne sais à quoi servent tous ces paramètres qu'on a eu la gentillesse de me donner ici.

    Mon makefile est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    CC=gcc
    CFLAGS=-Wall -W -O2 -ansi -pedantic 
    LDFLAGS=`pkg-config --cflags --libs gtk+-2.0`
    EXEC=pendu
     
    all: $(EXEC)
     
    pendu : main.o
    	$(CC) -o pendu main.o  $(LDFLAGS)
     
    main.o : main.c
    	$(CC) -o main.o -c main.c $(CFLAGS)
    Il ne marche pas. En effet, je ne sais quelle partie des options sert pour faire le .o ou pour faire l'exécutable !

    Pourriez-vous m'aider ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  2. #2
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Voici mon mien:
    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
    #
    # Variables:
    #
    CC = gcc
    BIN = nom_prog
    SRC = main.c
    OBJ = main.o
     
     
    #
    # Flags d'erreurs:
    #
    ERROR_CFLAGS = -Wall -W -pedantic
     
     
    #
    # Flags pour le compilateur:
    #
    GLIB_CFLAGS = $$(pkg-config --cflags glib-2.0)
    PANGO_CFLAGS = $$(pkg-config --cflags pango)
    GTK_CFLAGS = $$(pkg-config --cflags gtk+-2.0)
     
    CFLAGS = $(ERROR_FLAGS) $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(GTK_CFLAGS)
     
     
    #
    # Flags pour l'editeur de liens:
    #
    GLIB_LDFLAGS = $$(pkg-config --libs glib-2.0)
    PANGO_LDFLAGS = $$(pkg-config --libs pango)
    GTK_LDFLAGS = $$(pkg-config --libs gtk+-2.0)
     
    LDFLAGS = $(ERROR_FLAGS) $(GLIB_LDFLAGS) $(PANGO_LDFLAGS) $(GTK_LDFLAGS)
     
     
    #
    # Construction du programme:
    #
    all: $(BIN)
     
    $(BIN): $(SRC)
    	$(CC) $(CFLAGS) -c $(SRC)
    	$(CC) $(LDFLAGS) -o $(BIN) $(OBJ)
     
     
    #
    # Nettoyage:
    #
    clean:
    	rm -f *.o *~ core $(BIN)
    Y'a juste à changer le nom du programme dans la variable BIN et compéter au besoin la liste des fichiers sources en séparant bien entendu chaque fichier par un espace, idem pour les fichiers objets à générer par rapport aux fichiers sources

    Si tu veux supprimer le binaire et les fichiers objets, tu peux même taper
    et hop ca les effaces
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Franck.H
    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
    #
    # Flags pour le compilateur:
    #
    GLIB_CFLAGS = $$(pkg-config --cflags glib-2.0)
    PANGO_CFLAGS = $$(pkg-config --cflags pango)
    GTK_CFLAGS = $$(pkg-config --cflags gtk+-2.0)
     
    CFLAGS = $(ERROR_FLAGS) $(GLIB_CFLAGS) $(PANGO_CFLAGS) $(GTK_CFLAGS)
     
     
    #
    # Flags pour l'editeur de liens:
    #
    GLIB_LDFLAGS = $$(pkg-config --libs glib-2.0)
    PANGO_LDFLAGS = $$(pkg-config --libs pango)
    GTK_LDFLAGS = $$(pkg-config --libs gtk+-2.0)
    Normalement les options pour gtk contiennent les dépendances, donc tu as juste de besoin de GTK_[C|LD]FLAGS

  4. #4
    Rédacteur
    Avatar de Franck.H
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2004
    Messages
    6 951
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2004
    Messages : 6 951
    Par défaut
    Citation Envoyé par gege2061
    Normalement les options pour gtk contiennent les dépendances, donc tu as juste de besoin de GTK_[C|LD]FLAGS
    Ha ok, merci
    Mon Site
    Ma bibliothèque de gestion des chaînes de caractères en C

    L'imagination est plus importante que le savoir. A. Einstein

    Je ne répond à aucune question technique par MP, merci d'avance !

  5. #5
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    OK !

    Je n'aurais jamais penser à mettre la même chose des deux côtés !

    Et en plus, je comprends mieux les paramètres que j'ai récupérés
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  6. #6
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par troumad
    Je n'aurais jamais penser à mettre la même chose des deux côtés !
    Attention ce n'est pas la même chose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pkg-config --cflags gtk+-2.0
    pkg-config --lib gtk+-2.0

  7. #7
    Rédacteur/Modérateur
    Avatar de troumad
    Homme Profil pro
    Enseignant
    Inscrit en
    Novembre 2003
    Messages
    5 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 5 605
    Par défaut
    Ce matin au réveil, j'ai vu cette différence
    J'y aurais encore moins pensé !

    Est-il possible d'avoir une explication pour ces différentes options ?
    Modérateur Mageia/Mandriva Linux
    Amicalement VOOotre
    Troumad Alias Bernard SIAUD à découvrir sur http://troumad.org
    Mes tutoriels : xrandr, algorigramme et C, xml et gtk...

  8. #8
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par troumad
    Est-il possible d'avoir une explication pour ces différentes options ?
    man pkg-config

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Aide pour Gtk+ please
    Par foxyman dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 01/02/2007, 21h45
  2. makefile pour des fichiers lex et yacc
    Par samarensi dans le forum Linux
    Réponses: 1
    Dernier message: 25/12/2006, 09h27
  3. makefile pour code divisé en module
    Par mencaglia dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 05/12/2006, 12h05
  4. Makefile pour bibliothèque graphique
    Par Hyuge dans le forum Ada
    Réponses: 3
    Dernier message: 23/10/2006, 02h12
  5. Editeur graphique pour gtk
    Par SesechXP dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 20/07/2006, 15h42

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