Bonjour,
J'aimerai compiler du code Qt mais sans utiliser qmake. Est-ce qu'il existe une méthode simple et élégante (du style de pkg-config) ?
merci d'avance.
Version imprimable
Bonjour,
J'aimerai compiler du code Qt mais sans utiliser qmake. Est-ce qu'il existe une méthode simple et élégante (du style de pkg-config) ?
merci d'avance.
Pourquoi ne pas utiliser qmake ? :aie:
Et bien d'une part parce que j'ai un super makefile qui fonctionne extrêmement bien avec des choses plus ou moins complexes et que j'ai pas envie de tout réécrire sous qmake (si tant est que les réécritures soient possibles)Citation:
Pourquoi ne pas utiliser qmake ?
D'autre part si un jour je veux utiliser une autre API pour l'interface graphique dans mon makefile j'ai une ligne à modifier et je n'aurai pas à réécrire un makefile.
Le but avoué est en fait d'être le moins dépendant d'outils spécifiques.
Maintenant ton intervention était gentille mais elle ne résout en rien mon problème. ;)
Alors, tu peux continuer dans ton makefile en mettant les bibliothèques statiques de Qt à la suite des autres bibliothèques statiques auxquelles tu lies, et de même pour les dossiers d'include et de lien.
Ensuite, le problème, c'est pour moc et uic, les 2 "meta compilateurs" dont le 1er est fait pour les créations de widgets perso et surtout pour la création de signaux/slots persos et l'autre pour générer du code C++ depuis le format .ui (qui est du XML) sauvegardé par Qt Designer. Il faudra à chaque fois les appeler puis ajouter les fichiers générés par ces 2 méta compilateurs à la main dans le makefile.
Oui, c'est bien ce que je pensais faire, mais les mettre à la main comme ça, c'est pas hyper-propre (et pas portable), d'où ma demande de l'existence d'un .pc pour pkg-config par exemple. A moins qu'avec qmake il soit possible d'obtenir directement les bons includes/libs/... ?Citation:
Alors, tu peux continuer dans ton makefile en mettant les bibliothèques statiques de Qt à la suite des autres bibliothèques statiques auxquelles tu lies, et de même pour les dossiers d'include et de lien.
J'ai pas dans l'idée d'utiliser le designer pour l'instant donc je met ça de coté. ;)Citation:
l'autre pour générer du code C++ depuis le format .ui (qui est du XML) sauvegardé par Qt Designer.
Ca devrait le faire, je vais étudier ça d'un peu plus près, mais je ne pense pas que ça soit hyper-compliqué.Citation:
Il faudra à chaque fois les appeler puis ajouter les fichiers générés par ces 2 méta compilateurs à la main dans le makefile.
Ben il faut juste appeler moc avant g++ (ou un autre compilo) et rajouter le fichier généré par moc à la liste des fichiers .cpp dont g++ aura à s'occuper.
Tu peux faire un petit script pour gérer ce genre de choses.
C'est déjà fait ;)Citation:
Tu peux faire un petit script pour gérer ce genre de choses.
Il ne me manque plus que l'inclusion des entêtes et des bibliothèques et je peux me passer totalement de qmake.
Pour les entêtes, rajoute le dossier include "parent" et tous les sous-dossiers pour ne pas avoir à écrire quelque chose comme :
Code:#include <QtGui/QMainWindow>
Oui, c'est bien ce que je pensais mais je sens que ça va être la galère parce que quand je regarde le makefile qu'il génère avec qmake, il y en a un paquet et pas tous en rapport avec Qt (il y a aussi des includes du système). Bref je sens que je n'aurai jamais un truc portable, ça va être trop dur à gérer sans outils.
Je sens que je vais maintenir cote à cote un makefile qmake et de l'autre mon propre makefile au cas où (comme c'est joli :cry:)
Bon et bien après ces belles paroles je vais me plonger dans la doc de qmake.
Merci au grand responsable Qt/Algo de m'avoir aidé ;)
Mais comme qmake génère un makefile, tu pourras voir pour faire un petit script qui convertir le makefile "exprès pour Qt" en un makefile "classique" en enlevant tout ce qui est Qt. Ca te fera moins de boulot le moment venu.
Après peut-être qu'il y a un outil qui fournit toutes les infos de ton installation Qt, mais ça n'arrangera pas l'automatisation de moc et la gestion automatique des fichiers résultants...
Je sais pas trop ce que je vais faire, j'ai dans l'idée de faire l'interface en Qt pour tester mais j'aimerai ne pas en être trop dépendant : mon code est théoriquement fait pour ne pas être dépendant de Qt alors j'aimerai qu'il ne le soit pas pour les outils de génération. Mais bon, je vais faire avec pour l'instant. Je vais juste voir si je peux faire avec qmake ce que j'avais paramètré avec mon Makefile.
Salut.
Ques ce qui t'empeche d'utiliser ton makefile pour compiler ton source sous forme de lib et qmake pour compiler l'interface???
Rien du tout, l'idée, comme je l'ai exprimé était de ne pas utiliser qmake du tout. Mais bon je vais me débrouiller autrement ne t'inquiètes pas.