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

Outils Discussion :

qmake : différence entre INCLUDEPATH et DEPENDPATH ? [Compilation]


Sujet :

Outils

  1. #1
    Membre éclairé Avatar de Matthieu76
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2013
    Messages
    568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 568
    Points : 890
    Points
    890
    Par défaut qmake : différence entre INCLUDEPATH et DEPENDPATH ?
    Bonjour, tout est dans le titre : J'aimerais savoir quelle est la diférance entre INCLUDEPATH, DEPENDPATH, QMAKE_LIBDIR, LIBS, etc.

    Et si je fais un LIBS += "PATH/*.lib", ça ajoute toutes les libairies à la compilation ou que celle dont j'ai besoin ?
    Ah oui, et j'ai aussi ça comme message: "C++ Indexer: Skipping file "../sqlite-amalgamation-3150000/sqlite3.c" because it is too big."
    Pour faire les choses bien je devrais déplacer mon SOURCES += "$$PWD/../database/sqlite-amalgamation-3150000/sqlite3.c" pour le mettre dans le DEPENDPATH pour ne plus avoir l'erreur ? De tout façon je ne compte jamais modifier ce code, c'est une libairie externe.

    PS : Quand je compile Qtcreator me dit : "avertissement : Le répertoire de compilation doit être au même niveau que celui des sources."
    Ça change quoi ? Il y a des choses qui fonctionne moins bien ? Perso, je ne vois pas de différence du coup je compile dans un autre dossier.

  2. #2
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    Hello !
    Je suis un débutant dans le sujet mais j'ai tellement trimé sur la chose que je pense pouvoir te donner deux trois pistes d'après mes recherches :

    INCLUDEPATH te permet de définir le path de ton répertoire include dans lequel tu auras je pense tout tes fichiers .h ou .hpp de ta bibliothèque (c'est mon cas en tout cas : "INCLUDEPATH += $$PWD/packages/include")

    DEPENDPATH permet, si j'ai bien compris, de définir le path de répertoires include dans les cas où il y aurai beaucoup de dépendencies. Ou peut-être même des "répertoires enfants" d'include ?
    A vérifier, la doc que j'ai pu trouver dessus était assez courtes et dénuées de détails.

    LIBS te permet de... bah typiquement de spécifier le path de ton répertoire contenant les .lib
    ("LIBS += -L$$PWD/packages/lib/x64(or Win32)/Debug(or Release) -lNameOfMyLibFile")

    QMAKE_LIBDIR doit te permettre je pense de donner un répertoire dans lequel chercher les .lib et d'avoir ensuite à simplement rajouter LIBS += -lNameOfMyLibFile -lNameOfAnotherLibFile

    Je te conseille, si tu parles un peu Anglais, d'aller te balader par ici : http://doc.qt.io/archives/qt-4.8/qma...reference.html

    Y'a à peu près tout d'expliquer même si je trouve que certains donnent trop peu d'informations pour être compris sans s'y essayer.
    ------------------------------------
    Pour ajouter une lib tu donnes le path et tu rajoutes un -L(en minuscule)LeNomDuFichierLib.

    Je ne sais pas cependant si * .lib te balancera tout ce dont tu as besoin... Mais je pense que si c'est le cas, tu risques de te retrouver avec des fichiers manquant malgré tout.

    Pour ce qui est du message "C++ Indexer: Skipping file "../sqlite-amalgamation-3150000/sqlite3.c" because it is too big.", ça doit être lié avec le reste non ? Il doit attendre dans sources des fichiers au même niveau que le répertoire de compilation et donc considère ton path SOURCES trop long ?
    Est-ce qu'une bibliothèque externe à vraiment sa place dans SOURCES ?

    Encore une fois ce ne sont que des suppositions d'après mes expériences récentes et 90% de ce que j'ai dit n'est sûrement pas à prendre au pied de la lettre mais, vu que tu ne sembles pas avoir de réponse et que j'avais du temps à donner.

  3. #3
    Membre éclairé Avatar de Matthieu76
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mars 2013
    Messages
    568
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2013
    Messages : 568
    Points : 890
    Points
    890
    Par défaut
    Merci beaucoup pour ta réponse,

    Le "because it is too big" c'est parce que le fichier est trop lourd, environ 12000 lignes de code mais j'ai remarqué qu'il y avait avec ça un .lib que je vais include en tant que librairie. Après l'autre soucis c'est que vu que l’installer de Qt ne fonctionnant pas en 4G (très très bizarre comme bug mais bon pas moyen de trouvé une solution) j'ai du faire l'installation manuel depuis le repository de Qt et du coup il me manque des variable d'environnement où je ne sais quoi mais j'ai du link les .lib et .h de Qt et windows directement dans mon .pro et c'est chiant car je n'avais pas à faire cela avant.

  4. #4
    Membre du Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Janvier 2016
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Etudiant

    Informations forums :
    Inscription : Janvier 2016
    Messages : 54
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par Matthieu76 Voir le message
    Le "because it is too big" c'est parce que le fichier est trop lourd, environ 12000 lignes de code mais j'ai remarqué qu'il y avait avec ça un .lib que je vais include en tant que librairie.
    ça devrait faire le café oui !


    Après l'autre soucis c'est que vu que l’installer de Qt ne fonctionnant pas en 4G (très très bizarre comme bug mais bon pas moyen de trouvé une solution) j'ai du faire l'installation manuel depuis le repository de Qt et du coup il me manque des variable d'environnement où je ne sais quoi mais j'ai du link les .lib et .h de Qt et windows directement dans mon .pro et c'est chiant car je n'avais pas à faire cela avant.
    J'ai personnellement trouvé l'installeur assez brouillon et j'ai préféré le faire à la main. Je n'ai pas rencontré de problèmes m'obligeant à link des .lib de Qt cependant. Certaines dll à rajouter dans les builds éventuellement... Je ne saurais pas te renseigner sur ce sujet.

    Dans le cas où tu déciderais d'exporter ton programme, est-ce que tu ne risques pas de rencontrer un problème ?
    Peut-être qu'il serait préférable de réessayer de tout réinstaller en suivant un tuto pas à pas ?

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

Discussions similaires

  1. Différence entre un "bidouilleur" et un Pro ?
    Par christ_mallet dans le forum Débats sur le développement - Le Best Of
    Réponses: 290
    Dernier message: 28/11/2011, 10h53
  2. Réponses: 5
    Dernier message: 11/12/2002, 12h31
  3. Différence entre TCP, UDP, ICMP
    Par GliGli dans le forum Développement
    Réponses: 1
    Dernier message: 13/09/2002, 08h25
  4. Différences entre jmp, jz, jnz, etc
    Par christbilale dans le forum Assembleur
    Réponses: 3
    Dernier message: 05/07/2002, 15h09
  5. Réponses: 3
    Dernier message: 07/05/2002, 16h06

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