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

Systèmes de compilation Discussion :

makeFile pour un projet c++


Sujet :

Systèmes de compilation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut makeFile pour un projet c++
    Bonjour .pouvez-vous m'aider a écrire un makeFile pour mon projet C++ j'en ai fait un ,mais il ne fonction pas .En gros j'ai 4 fichiers :
    -constantes.h
    -together.h
    -together.c
    -main.c

    si vous pouvez me donner un exemple de makeFile avec g++ . merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Oui, montre-nous ton Makefile et on te dira ce qui ne va pas.

  3. #3
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut
    ok le voila :
    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
     
    CC=g++
    CFLAGS=-W -Wall -ansi -pedantic -g
    LDFLAGS=
    EXEC=sutup
    SRC=$(wildcard *.cpp)
    OBJ=$(SRC:.cpp=.o)
     
    all: $(EXEC)
     
    sutup: $(OBJ)
    	$(CC) -o $@  $^ $(LDFLAGS)
     
    main.o: main.cpp constantes.h together.h
    	$(CC) -o $@ -c $< $(CFLAGS)
     
    .PHONY: clean mrproper
     
    clean:
    	rm -rf *.o
     
    mrproper: clean
    	rm -rf $(EXEC)

  4. #4
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut
    Yes . c'est bon j'ai pu corriger le probleme . c'est lié a une définition multiple .En faite je crois que dans les libs du systeme il y a des fichiers qui ce noment main.cpp comme mon fichier ,du coup ça plante la compiltion (les dépandances je crois) . ça fonctionner quand j'ai renomé le fichier main.cpp

  5. #5
    Invité
    Invité(e)
    Par défaut
    les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    SRC=$(wildcard *.cpp)
    OBJ=$(SRC:.cpp=.o)
    nécessitent que tu renommes tous tes fichiers .c en .cpp

    d'autre part les lignes
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    main.o: main.cpp constantes.h together.h
    	$(CC) -o $@ -c $< $(CFLAGS)
    ne sont pas indispensables et peuvent être supprimées (à part pour la dépendance aux .h mais comme ce n'est pas géré correctement pour le fichier together.o autant les enlever...)

    Enfin, en C++, les variables prédéfinies sont CXX et CXXFLAGS et non CC et CFLAGS.
    Il y a encore moyen d'améliorer mais tu peux déjà utiliser le Makefile suivant :

    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
    CXX=g++
    CXXFLAGS=-Wall -Wextra -g
    LDFLAGS=
    EXEC=sutup
    SRC=$(wildcard *.cpp)
    OBJ=$(SRC:.cpp=.o)
     
    all: $(EXEC)
     
    sutup: $(OBJ)
    	$(CXX) -o $@  $^ $(LDFLAGS)
     
    .PHONY: clean mrproper
     
    clean:
    	rm -rf *.o
     
    mrproper: clean
    	rm -rf $(EXEC)

  6. #6
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2015
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2015
    Messages : 99
    Par défaut
    OK merci .j'ai un autre soucis , j'ai compilé un projet sous linux a l'aide d'un makeFile mais quand je suis allé sous windows la compilation ne marche pas avec la commande make

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 11/01/2015, 19h45
  2. Deux makefile pour un projet C++
    Par Simpom dans le forum Eclipse C & C++
    Réponses: 0
    Dernier message: 12/08/2010, 17h13
  3. Makefile pour projet c++, plusieurs fichiers, classes
    Par thhomas dans le forum Systèmes de compilation
    Réponses: 2
    Dernier message: 04/08/2009, 16h42
  4. Faire un Makefile pour mon projet perl
    Par rvfranck dans le forum Langage
    Réponses: 9
    Dernier message: 06/11/2008, 05h37
  5. Makefile générique pour compilation projet C
    Par AuraHxC dans le forum Systèmes de compilation
    Réponses: 1
    Dernier message: 13/12/2007, 21h29

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