Salut tous, j'avais fait un projet Qt avec Visual C++, mais maintenant que je suis sous linux je voudrais faire un makefile pour compiler mais je ne connais pas les syntaxes pour les uic et moc vous en avez pas un sous la main que je puisse prendre comme exempe ?
Merci.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
Le principe du Makefile est de definir les regles de compilation (comment compiler un .cpp, generer des fichier, etc.) et les dependances entre le resultat de l'action et les sources (pour eviter la recompilation a chaque fois). Pour illuster cela voici le makefile pour compiler le jeu awale
Pour que ca marche tu dois modifier la variable QT_HOME pour qu'elle designe l'emplacement de la librarire Qt.
Les premieres lignes creent des variables qui seront utilise pour definir les regles de compilation (CXX designe le compilateur, CFLAGS les flags de compil, SRC les sources, MOC_HEADER les fichiers .h qui doivent etre compiles par moc, etc.)
Par exemple la syntaxe
TOTO = $(MOC_SRCS:%.cpp=%.o)
permet de crer une variable a partir de MOC_SRC en remplacant chaque mot de la forme fichier.cpp par fichier.o.
La suite c'est les regles de compilation. Voici quelques remarques concernant les variables generiques utilisees :
$@ : la cible qui doit etre cree
$< : le premier argument des dependances
$* : la partie representee par % dans la regle (generale c'est le nom du fichier)
Pour revenir a moc et uic, le premier recoit le fichier entete contenant la classe avec la macro Q_OBJECT et genere le fichier d'implementation (.cpp) et d'entete correspondant). Quand au second il genere ca en deux fois, en premier le fichier entete par
uic -o toto.h toto.ui
puis le fichier implementation par
uic -i toto.h -o toto.cpp toto.ui
@+
Une derniere remarque, l'entree clean permet de faire le menage en supprimant tous les resultats de compilation.
Merci Kadirou, pour le boulot que tu as fait.
Je connais le principe des makefile, j'en avais fait pour des mode consoles mais je ne savais pas ce qu'il fallait rajouter pour les projets Qt.
De plus je me rends compte que j'ai Qt soit mal installé soit mal paramétré.
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
Il me dit [quote]make: *** Pas de règle pour fabriquer la cible « /usr/lib/qt3/mkspecs/default/qmake.conf », nécessaire pour « Makefile ». Arrêt.
[/quote]
En fait j'avais installé Qt qd j'étais encore sous Win et la je travaille avec Knoppix en bootant sur le CD car j'ai pas encore assez de place pour l'installer (je le ferai qd j'aurrai viré Win).
__________________________
Lisez la [url=http://www.forum.moteurprog.com/bavardages/forum-msg-22857-1.htm]charte[/url], pensez à regarder la [url=http://www.forum.moteurprog.com/FAQ/FAQ.php]FAQ[/url], les [url=http://www.moteurprog.com/Tutoriaux/]tutoriaux[/url], l'[url=http://www.moteurprog.com/Annuaire/]annuaire[/url] et faites une [url=http://www.forum.moteurprog.com/Rechercher/Index.php]recherche[/url] dans les forums.
N'oubliez pas le Tag [b][Résolu][/b][img]http://www.ressources.moteurprog.com//Ressources/Images/Forum/Resolu.gif[/img].
Initiez-vous à Delphi avec [url=http://www.turboexplorer.com/delphi]Turbo Delphi Explorer[/url], au C ou au C++ avec [url=http://www.codeblocks.org]Code::Blocks[/url] et C# avec [url=http://www.microsoft.com/france/msdn/vstudio/express/vcsharp/telechargez.mspx]Visual C# 2005 Express[/url].
ERREUR BBCODE SUR CE MESSAGE : - La valeur de la balise "quote" n'est pas correcte !
Pour générer un fichier Makefile il y a bien plus simple :
1. Tu te places dans le répertoire contenant les sources et les .ui
2. Dans un terminal, tu exécute
qmake -project
. Cela va créer un fichier projet (.pro) ayant le même nom que le répertoire.
3. Exécute ensuite
qmake
qui va alors créer automatiquement un fichier Makefile adapté à l'environnement de programmation et le système.
Voila pas besoin de s'embéter à créer les Makefile à la main.
__________________________
Webmestre http://prog.qt.free.fr
si c'est bien plus simple avec KDevelop mais cet IDE n'est pas tellement utilisé, je ne sais pas trop pourquoi, bien que moi je ne l'utilise pas non plus. Ce que dit prog.qt est tout à fait vrai il suffit d'utiliser qmake :) Il est également possible de créer les .pro à la main, ce qui est bien simple aussi mais puisque qmake le fait, autant lui laisser faire sa part des choses :)
ciao
__________________________
Grégory S.
eVias Web & Software Solutions.
Développement Web et logiciel en tout genre et Open Source.
Pour parler de Kdevelop, si j'ai bien compris quand on crée un projet Qt, il fait un projet qui utilise les librairies de Qt et de KDE.
Me disant que si je veux que l'appli fonctionne sous d'autres environnements et sous d'autres OS je préfère n'utiliser que les lib de Qt.
Je me trompe ou non ?
__________________________
Lisez la charte, pensez à regarder la FAQ, les tutoriaux, l'annuaire et faites une recherche dans les forums.
N'oubliez pas le Tag [Résolu].
Pour les makefile, ce qu il faut ajouter est dans le man. Les manuels contienent toujours ce genre d info
__________________________
... Until then, we're better off dead
A smile on the lips and a hole in the head ...