Compiler plusieurs exécutables avec un seul .pro

Compiler plusieurs exécutables avec un seul .pro

by Paul Charles Jacques Boulenger -
Number of replies: 4

Bonjour, pour nos fichiers de tests (testInvariants, exerciceP9 et autres), nous souhaitons les compiler dans le repertoire text de notre ExerciceP10 (= partie principale de notre rendu). On se demande comment adapter le text.pro pour qu'il fasse compiler plusieurs exécutables (en plus du main_text de l'exercice P10). Nous avons essayé d'y mettre plusieurs targets mais cela ne fonctionne pas (on a bien utilisé les différentes syntaxes qui nous semblaient logique : écrire += au lieu du = et séparer par des \ , écrire plusieurs fois "Target =" ...). Y a-t-il quelque chose de spécial à rajouter ? Nous avons aussi penser à créer plusieurs sous-projet dans text (sous-projet main_text , sous-projet testInvariants...) mais cela serait assez fastidieux, très lourd (autant de .pro à refaire...), et pas très correct puisque ces sous-projets utilisent exactement les mêmes fichiers (TextViewer ...) à l'exception de leur main.

Merci d'avance. 

Paul 

In reply to Paul Charles Jacques Boulenger

Re: Compiler plusieurs exécutables avec un seul .pro

by Fares Ahmed -

A ma connaissance il n'est pas possible de directement définir plusieurs targets dans un même fichier .pro tel que vous le souhaitez.


Si vous tenez à pouvoir compiler tous vos fichiers tests avec qmake, la meilleure solution me semble de passer par des sous-projets. J'ai du mal à comprendre votre réticence par rapport à cette solution par contre ; vous devrez créer un .pro pour chaque sous-projets, mais chacun d'entre eux seront court et auront exactement la même structure à quelques détails prêts, et quant aux fichiers similaires qu'ils utilisent si vous pensiez à copier/coller les fichiers dans chaque sous-projet alors oui c'est pas la bonne solution : inspirez vous bien de comment c'est fait dans Qt_gl et text.

In reply to Paul Charles Jacques Boulenger

Re: Compiler plusieurs exécutables avec un seul .pro

by Josué Antoine Maechling -

Après pas mal de recherche je tombe surtout d'avis avec Fares.

Tu devras créer d'autres répertoires comme text avec seulement le code de tes exéctuables et le .pro indiquant les autres dossiers et fichiers à utiliser.

Cependant je suis tombé sur ça :

https://www.qtcentre.org/threads/32069-Multiple-executable-targets-sharing-common-code-Can-they-be-packed-into-one-project

Il semblerait que ce soit possible d'avoir plusieurs .pro dans le même dossier (sans pour autant simplement avoir toutes les target dans un seul .pro). Il faudrait "leurrer" Qt en lui faisant croire qu'il y a des sous-répertoires alors qu'il n'y en a pas (mon interprétation). Donc tu auras dans text un .pro qui ressemble à qspeedtest.pro de l'exemple et tu aurais d'autres .pro pour tous les autres exécutables.

Au cas où tu veuilles voir le code complet venant du lien et que tu ne souhaites pas créer de compte, voici le code :



In reply to Josué Antoine Maechling

Re: Compiler plusieurs exécutables avec un seul .pro

by Paul Charles Jacques Boulenger -

Merci pour les réponses, j'ai finalement décidé de créer plusieurs sous projets. Cependant cela ne marche pas pour l'instant. J'ai créer un fichier .pro pour chacun, en essayant de reprendre le modèle qu'on avait pour text.pro , mais ils ne reconnaissent pas les fichiers : ils ne trouvent pas ../general/Vecteur.h et tous les autres ... Y a-t-il quelque chose à rajouter. Et j'ai également créer une dossier "general_text"  (à l'image du "general" qu'on a pour tous le projet) quoi contient les fichiers utiles pour tous les sous projets text (c'est-à-dire TextViewer.cc et .h). Dois-je faire quelque chose de spécial de le general_text.pro pour que cela fonctionne ? 

In reply to Paul Charles Jacques Boulenger

Re: Compiler plusieurs exécutables avec un seul .pro

by Paul Charles Jacques Boulenger -

Problème réglé, il fallait en fait écrire par exemple "../../general/Vecteur.h" et non pas simplement '../general/Vecteur.h'