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

Outils Discussion :

[QMake] Créer plusieurs exécutables [Compilation]


Sujet :

Outils

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut [QMake] Créer plusieurs exécutables
    Bonjour,


    Je dois créer une application avec Qt3 (sur linux) qui contient plusieurs exécutables (c'est une application multi-processus, donc je devrai faire des execl etc) et je dois compiler cela par makefile.
    J'utilise qmake lorsque je dois compiler des programmes avec Qt.
    J'ai créé le fichier .pro contenant les sources, headers, et la config comme je fais d'habitude, il me génère le makefile sans problèmes, mais une fois que je tape make, j'ai des erreurs comme quoi main est défini plusieurs fois (ce qui est logique mais je ne sais pas comment régler ça).

    J'aimerais avoir un seul makefile qui me permettrait de compiler ces différents exécutables correctement.
    Auriez-vous une solution?


    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Points : 969
    Points
    969
    Par défaut
    Salut,

    Je ne peux pas te donner de réponse directe, mais quand tu installes Qt, tu fais bien une seule fois qmake && make, et ca te crée plusieurs éxécutables (designer, uic, qtdemo, les exemples, etc ...)

    Après, ce .pro/makefile ne fait que réferencer d'autres sous projets, mais si ça te convient, tu peux commencer par y jeter un oeil.

    Et sinon, il ya bien sûr ça :
    http://qt.developpez.com/doc/latest/qmake-manual.html (vu sa taille, je pense qu'il est complet )

    Bon courage,

    G.
    Un problème avec Qt ? Vous trouverez votre réponse ici : http://doc.trolltech.com/4.6/overviews.html
    En français (traduction réalisée par l'équipe Qt de DVP) : http://qt.developpez.com/doc/4.6/vues-d-ensemble/

  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut
    J'ai regardé la doc, mais je n'ai rien vu qui parlait de ça

    j'ai vu dans un e-book à propos de qt qu'on pouvait créer plusieurs exécutables avec qmake mais ils ne disaient pas comment faire...

  4. #4
    Membre confirmé

    Inscrit en
    Octobre 2007
    Messages
    234
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 234
    Points : 644
    Points
    644
    Par défaut
    Regarde du côté de SUBDIRS.

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 36
    Points : 26
    Points
    26
    Par défaut
    J'ai enfin réussi, je n'ai pas utilisé qmake mais j'ai créé le makefile moi-même.

    Pour ceux que ça intéresserait:

    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
     
    OBJS = Main.o FichierIndex.o FenetreApplication.o moc_FenetreApplication.o AccesFichier.o FonctionUti$
    PROGRAM = Main Serveur AccesFichier
    SOURCES = sources
    INCPATH = -I/usr/include/qt3
    LIBS = $(SUBLIBS) -L/usr/share/qt3/lib -L/usr/X11R6/lib -lpthread -lXext -lqt-mt -lm -lX11
    #MOC = /usr/share/qt3/bin/moc
     
    all: $(PROGRAM)
     
    ### EXECUTABLES ###
    Main: Main.o FonctionUtile.o FenetreApplication.o moc_FenetreApplication.o
            g++ -o Main Main.o FonctionUtile.o FenetreApplication.o moc_FenetreApplication.o $(LIBS)
     
    Serveur: FonctionUtile.o FichierIndex.o Serveur.o
            g++ -o Serveur Serveur.o FonctionUtile.o FichierIndex.o $(LIBS)
     
    AccesFichier: AccesFichier.o FichierIndex.o FonctionUtile.o
            g++ -o AccesFichier AccesFichier.o FonctionUtile.o FichierIndex.o $(LIBS)
     
     
    ### FICHIERS OBJETS ###
    FichierIndex.o: $(SOURCES)/FichierIndex.cpp $(SOURCES)/FichierIndex.h
            g++ -c $(INCPATH) -o FichierIndex.o $(SOURCES)/FichierIndex.cpp
     
    Main.o: $(SOURCES)/Main.cpp $(SOURCES)/FonctionUtile.h $(SOURCES)/Fichier.ini
            g++ -c $(INCPATH) -o Main.o $(SOURCES)/Main.cpp
     
    Serveur.o: $(SOURCES)/Serveur.cpp $(SOURCES)/FonctionUtile.h $(SOURCES)/FichierIndex.h $(SOURCES)/Fic$
            g++ -c $(INCPATH) -o Serveur.o $(SOURCES)/Serveur.cpp
     
    AccesFichier.o: $(SOURCES)/AccesFichier.cpp $(SOURCES)/FichierIndex.h $(SOURCES)/FonctionUtile.h $(SO$
            g++ -c $(INCPATH) -o AccesFichier.o $(SOURCES)/AccesFichier.cpp
     
    FenetreApplication.o: $(SOURCES)/FenetreApplication.cpp $(SOURCES)/FenetreApplication.h $(SOURCES)/mo$
            g++ -c $(INCPATH) -o FenetreApplication.o $(SOURCES)/FenetreApplication.cpp
     
    FonctionUtile.o: $(SOURCES)/FonctionUtile.cpp $(SOURCES)/FonctionUtile.h
            g++ -c $(INCPATH) -o FonctionUtile.o $(SOURCES)/FonctionUtile.cpp
     
    moc_FenetreApplication.o: $(SOURCES)/moc_FenetreApplication.cpp $(SOURCES)/FenetreApplication.h
            g++ -c $(INCPATH) -o moc_FenetreApplication.o $(SOURCES)/moc_FenetreApplication.cpp
     
     
    clean :
            @rm -f $(OBJS)
    clobber:clean
            @rm -f $(PROGRAM)

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/12/2013, 09h35
  2. [Tableaux] Créer plusieurs pages
    Par Dace dans le forum Langage
    Réponses: 4
    Dernier message: 17/10/2005, 15h12
  3. Réponses: 9
    Dernier message: 29/09/2005, 09h38
  4. [Thread]Comment créer plusieurs thread à la demande??
    Par Devil666 dans le forum Concurrence et multi-thread
    Réponses: 8
    Dernier message: 14/09/2005, 13h29
  5. [Debutant(e)]créer un exécutable
    Par seringua1 dans le forum EDI et Outils pour Java
    Réponses: 3
    Dernier message: 08/06/2004, 12h34

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