Bonjour,
Tout d’abord merci a Troudhyl, opossum-farceur, dourouc05 et les autres pour leurs nombreuses réponses qui font la qualité de ce forum.
Pour éviter de chercher un peu partout comme j'ai pu le faire avant :
Installation et 1ere utilisation de Qt :
Qt Et C++ valable pour le compilateur "minGW", installation par défaut, sous Windows (Maj :le 21/05/2012)
1/ Télécharger le dernier Logiciel : http://qt.nokia.com/downloads
a/ choisir selon son système d'exploitation...pour moi Windows je choisi « Direct download x.x GB »
2/ Faire l'installation par défaut
3/ Décocher : « Launch Qt Creator » et «Open Qt SDK ReadMe »
4/ Ouvrir le répertoire : c:\QtSDK (si installation par défaut), puis le répertoire : QtCreator, puis le répertoire : bin,
faire un raccourci de qtcreator.exe sur votre bureau.
5/ Faire un raccourci de la console sur le bureau : menu démarrer, programmes ou tous les programmes, Qt SDK, Desktop, Qt 4.8.1 for Desktop (MinGW) (pour la dernière version a ce jour)
5/ Ouvrir Qtcreator, créer un nouveau projet ;
Fichier => Nouveau fichier ou projet..
Projet Qt Widget => Application graphique Qt => Choisir
Donner un Nom et définir le répertoire de création de votre projet => Suivant
Dans installation de la cible laisser les parametres par defaut (sauf si vous vous y connaissez) => Suivant
Dans Nom de la classe : donnez le nom que vous voulez pour votre programme. Si vous voulez utiliser l’interface graphique pour placer vos objets, laisser cocher «Générer l’interface graphique » => Suivant
A moins de maîtriser Gestion du projet => Terminer
6/ Juste avant de commencer a programmer quelques petites vérifications :
On va dans projet :
on vérifie que des paramètres ne soient pas en rouge dans Général (version de Qt :, Chaîne d’outils :, et Répertoire de compilation!!! Pour :
pour Editer la configuration de compilation : Qt 4.8.1 for Desktop – MinGW (Qt SDK) Debug
pour Editer la configuration de compilation : Qt 4.8.1 for Desktop – MinGW (Qt SDK) Realease
sinon faire les ajustements nécessaires.
Remettre pour Editer la configuration de compilation : a : Qt 4.8.1 for Desktop – MinGW (Qt SDK) Debug (se sera la compilation par défaut qu’en on appuiera sur le bouton vert)
Pour pouvoir compiler un programme et l’exécuter, on a besoin que celui-ci « voit » un certains nombre de dlls qui se trouvent dans : « C:\QtSDK\QtCreator\bin » on va donc dans Editer :
On double clic sur le .pro
On ajoute : INCLUDEPATH += %QTDIR%/bin #pour que votre programme voit les dlls nécessaires au mode debug et release.
7/ Mettre les fichiers nécessaires au fonctionnement de votre programme (images, texte ...) dans un sous répertoire de votre exécutable.
Déclarer le chemin de ces fichiers dans Ressources (.qrc) (fichier .qrc créer par Qt : Fichier => Nouveau fichier ou projet.. => Qt => fichier de ressource Qt)
8/ Compiler (attention au mode Debug ou Release).
9/ Nettoyer votre projets de tous les fichiers de constructions : menu compiler -> tout nettoyer
10/ Pour que votre exécutable puisse fonctionner sur n’importe quelle ordinateur (dans ce cas Windows) copier les dlls (ceux demandées lorsqu'on lance l'exe dans son répertoire) libgcc_s_dw2-1.dll, mingwm10.dll, QtCore4.dll, QtGui4.dll ... dans le répertoire de l'exécutable). Pour les images; répertoire imageformats (dlls sans d pour release)
11/ Pour afficher un icone sur l'exécutable créer un fichier texte ressources.rc: avec cette ligne dedans; IDI_ICON1 ICON DISCARDABLE "monimage.ico" et ajouter au .pro : RC_FILE = ressources.rc
12/ Il est possible "d'intégrer" les dlls dans l'exécutable en prenant les .a, mais je ne sais pas comment faire (si quelqu’un peut détailler comment faire…)
Utiliser une bibliothèque extérieur comme quazip et l’utiliser dans un programme :
Il nous faut :
Une console : Raccourci de la console sur le bureau : menu démarrer, programmes ou tous les programmes, Qt SDK, Desktop, Qt 4.8.1 for Desktop (MinGW) (pour la dernière version a ce jour)
Les librairies (quazip et zlib sont nécessaires): http://quazip.sourceforge.net/index.html http://sourceforge.net/projects/quazip/ http://zlib.net/
Modifier le quazip.pro comme suit (mettre votre chemin de votre zlib a la place):
Avec la console et mes chemins (donc à modifier):
Code : Sélectionner tout - Visualiser dans une fenêtre à part INCLUDEPATH += . D:/zlib-1.2.7
Normalement tous les .h sont copiés dans : C:\quazip-0.4.4\quazip (si comme moi ce n’est pas le cas vous pouvez les copier tous manuellement).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 C:\Windows\system32>cd /D D:\Programmation\C++\quazip-0.4.4\quazip D:\Programmation\C++\quazip-0.4.4\quazip> qmake PREFIX=C:/quazip-0.4.4/install D:\Programmation\C++\quazip-0.4.4\quazip> mingw32-make release (il faut le "release" pour compiler la release, par défaut ça fait la debug, et les deux s'installent au même endroit, dossier lib...) D:\Programmation\C++\quazip-0.4.4\quazip> mingw32-make install-release (et pas install tout court qui déclenche install-debug, cf le code du MakeFile) D:\Programmation\C++\quazip-0.4.4\quazip> mingw32-make D:\Programmation\C++\quazip-0.4.4\quazip> mingw32-make install
Les quazip.dll pour release et debug sont bien créé et au dans les répertoires debug et release.
A chaque fois que vous faites une tentative infructueuse, n’oublier pas de nettoyer votre projet avec l’utilitaire de Qt : menu compiler -> tout nettoyer
Pour tester :
Le .pro (mettre vos chemins a la place) :
Le unzip.cpp (remplacer archive.zip par le chemin de votre zip a extraire et dossier/de/destination, là ou vous voulez deposer vos fichiers dezipper):
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 TEMPLATE = app TARGET = DEPENDPATH += . #Pour accéder aux chemins courants de lappli INCLUDEPATH += . .. #Pour acceder a toutes les dlls incluses dans Qt (libgcc_s_dw2-1.dll, mingwm10.dll, QtCore4.dll, QtGui4.dll ) INCLUDEPATH += %QTDIR%/bin # dossier de zlib.h INCLUDEPATH += le/chemin/de/zlib # dossier des headers de quazip INCLUDEPATH += le/chemin/de/quazip # dossier de libquazip.a CONFIG(debug, debug|release) { LIBS += -L le/chemin/de/quazip/debug } else { LIBS += -L le/chemin/de/quazip/release } LIBS += -lquazip # Input SOURCES += unzip.cpp CONFIG += console
Avec la console :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 #include <QtCore/QCoreApplication> #include <JlCompress.h> int main(int argc,char** argv) { QCoreApplication app(argc,argv); QStringList list=JlCompress::extractDir("archive.zip","dossier/de/destination"); for (int i=0,n=list.count();i<n;i++) qDebug("%2i : %s",i,qPrintable(list.at(i))); return app.exec(); }
Vous pouvez tester unzip.exe (attention aucuns message d’erreur n’est traité, si vous avez une fenêtre noir quand vous l’exécutez, c’est que les chemins du zip ou de destination sont mal renseignés !!!, corriger, nettoyer votre projet, relancer les commandes de la console, puis essayer de nouveau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 C:\Windows\system32>cd /D le\chemin\de\unzip le\chemin\de\unzip>qmake le\chemin\de\unzip> mingw32-make release
En esperant que cela serve...
Cordialement
Partager