Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Discussion: STL non trouvée

  1. #1
    Invité de passage
    Inscrit en
    février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 5
    Points : 1
    Points
    1

    Par défaut STL non trouvée

    Bonjour à tous,

    Je travaille sur un projet que j'ai rapatrié sur mon poste et il semblerai que l'EDI ne soit pas en mesure de trouver les "includes" de la librairie std.
    Par contre, la compilation se passe sans soucis et je suis capable d' exécuter mon application
    En gros, ça ne me pose pas de problème bloquant pour travailler mais ça m’empêche d’utiliser l'auto complétion de std et me souligne à la façon correcteur word la pupart de mes lignes (vraiment bof niveau visuel).

    Un exemple avec le fichier.h suivant:
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    #ifndef FICHIER_H_
    #define FICHIER_H_
     
    #include <string> // string: aucun fichier ou répertoire de ce type
    #include <QSettings>
     
    class Fichier
    {
    public:	
            Fichier();
    	~Fichier();
     
    	void methode1();
            std::string methode2(); //'std::string' is not a type name
     
    private:
    	std::string _membre; //'std::string' is not a type name
     
     
    #endif /*FICHIER_H_*/
    Aucun soucis pour ce ce qui est bibliothèque Qt (ici QSettings).
    Les commentaires représentent les messages d'info bulle lorsque je passe mon pointeur de souris sur le ligne de code.

    Infos complémentaires:
    • je lance Qt depuis mon poste de travail qui est sous windows XP
    • mon projet est sur un serveur linux (peut importe la localisation du projet, le problème reste)
    • les commandes utilisées depuis linux sont Qmake projet.pro et make.
    • version de Qt = 4.7.0
    • PATH: C:\Qt\2010.05\qt\bin
    • QTDIR: C:\Qt\2010.05\qt


    Auriez vous des pistes pour que je sois en mesure d'indiquer à Qt où trouver les éléments de la STL ?

    Merci d'avance pour votre aide.

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    mai 2009
    Messages
    1 008
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : mai 2009
    Messages : 1 008
    Points : 1 744
    Points
    1 744

    Par défaut

    Bonjour,

    MinGW ne doit pas être dans l'installation que tu utilises (juste les binaires pour compiler). Tu peux le télécharger à part : ftp://ftp.qt.nokia.com/misc/MinGW-gcc440_1.zip
    Tu le décompresses quelque part, et dans le dossier include tu as tout ce qu'il faut. Pour le rajouter dans ton projet, soit tu utilises INCLUDEPATH dans le .pro, soit la variable d'environnement INCLUDE dans les propriétés de ton projet (à ajouter).

    Je pense que le plus simple est de créer/compléter la variable d'environnement INCLUDE directement dans C:\Qt\2010.05\qt\bin\qtvars.bat (si le nom n'a pas changé depuis cette vieille version... le .bat qui configure l'environnement quoi), comme ça c'est fait une fois pour toutes.

    PS : Aucune raison d'utiliser la STL dans Qt, à part si on doit s'interfacer avec une autre application C++ classique...

  3. #3
    Invité de passage
    Inscrit en
    février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : février 2009
    Messages : 5
    Points : 1
    Points
    1

    Par défaut

    Merci pour ta réponse Troudhyl

    J'ai effectivement rajouté un INCLUDEPATH dans mon .pro ciblant MingW32 et je n'ai plus de soucis: Qt trouve bien les librairies => plus de soucis au niveau de l'interface.

    J'en conclue donc qu'il faille bien faire la distinction entre les librairie vues par l'EDi Qt et celle utilisées pour la compil.
    En effet ma compilation marchait très bien (make sous linux), c'est juste Qt (lancé sous Windows) qui ne trouvait pas les librairie utilisées et par conséquent me "soulignait" en rouge les méthodes STL

    Citation Envoyé par Troudhyl Voir le message
    PS : Aucune raison d'utiliser la STL dans Qt, à part si on doit s'interfacer avec une autre application C++ classique...
    Je suis d'accord avec toi sur ce point, mais il s'agit d'un projet que j'ai récupéré et qui est conçu comme ça à l'origine.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •