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

Discussion :

Installation, première utilisation et bibliothèques externes

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Par défaut Installation, première utilisation et bibliothèques externes
    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):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INCLUDEPATH += . D:/zlib-1.2.7
    Avec la console et mes chemins (donc à modifier):
    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
    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).
    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) :
    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 l’appli
    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
    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
    #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();
    	}
    Avec la console :
    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
    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.

    En esperant que cela serve...

    Cordialement

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Août 2011
    Messages : 88
    Par défaut
    Bonjour,

    Une excellente initiative que ce tutoriel. Vu qu'il est assez récent, je me permet de poser une question pour l'étape de compilation de quazip.

    Que peut-on faire si, malgré la directive INCLUDEPATH ajoutée et dûment complétée, on obtient toujours le message « unzip.c:43:18: fatal error: zlib.h: No such file or directory », sans aller jusqu'à copier les fichiers manquants un à un ?

    EDIT : Après quelques recherches et essais supplémentaires, j'ai réussi.
    Voilà un complément d'information :

    zlib est nécessaire et déjà présent dans le Qt SDK dans src/3rdparty/zlib

    Faîtes attention, il y a 2 quazip.pro. Un à la racine de l'archive, dans quazip-0.4.4, et un dans le sous-dossier quazip.
    C'est celui du sous-dossier qu'il faut modifier, en ajoutant le chemin vers le dossier qui contient zlib (chez, c'était donc "C:\QtSDK\Desktop\Qt\4.8.2\src\3rdparty\zlib", ce qui donne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INCLUDEPATH += . C:\QtSDK\Desktop\Qt\4.8.2\src\3rdparty\zlib
    Ensuite, vérifiez que dans votre variable path, le dossier bin de votre compilateur soit spécifié.
    Vous pouvez simplement le constater en tapant dans n'importe quelle console MSDOS : "echo %path%".

    Une fois ceci fait, rendez-vous dans le sous-dossier quazip, et effectuez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    qmake PREFIX=C:/quazip/
    make release
    make install
    Un fois ceci terminé, rende-vous dans le chemin que vous avez précisé pour qmake, et dans le dossier devraient être situés 2 sous-dossiers, lib et quazip.
    Rangez le dossier quazip à côté de zlib par exemple.
    Dans le dossier lib, ajoutez le .dll dans le dossier /bin de votre compilateur, et ajoutez le .a dans le dossier libs.

  3. #3
    Membre éclairé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Avril 2011
    Messages
    316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2011
    Messages : 316
    Par défaut
    bonjour,

    pas si bien que ça apparemment;

    tu doit télécharger zlib qui n'est pas compris dans quazip et attention au path.

    Cordialement

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2011
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Août 2011
    Messages : 88
    Par défaut
    En fait, zlib est déjà présent dans QtSDK.

    j'ai édité mon message précédent pour apporter plus d'information sur la façon dont j'ai résolu le problème.

  5. #5
    Invité
    Invité(e)
    Par défaut
    Merci énormément pour ce tuto, je rageait avec ca depuis un moment !

    (ce tuto se fait vieux mais marche toujours très bien grace aux explications supplémentaires de morinxav1)

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

Discussions similaires

  1. Utiliser une bibliothèque externe
    Par falcoman33 dans le forum Qt Creator
    Réponses: 2
    Dernier message: 26/04/2014, 09h59
  2. serialiser un objet sans utiliser de bibliothèque externe
    Par Jérémy Lefevre dans le forum Langage
    Réponses: 2
    Dernier message: 11/04/2014, 17h02
  3. Installation et utilisation des bibliothèques
    Par feynman dans le forum Fortran
    Réponses: 1
    Dernier message: 21/03/2008, 08h42
  4. Réponses: 4
    Dernier message: 28/08/2007, 22h34

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