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

Qt Discussion :

Dépendances et déploiement d'une application


Sujet :

Qt

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Dépendances et déploiement d'une application
    Bonjour,

    Je souhaite créer une appli en la compilant dynamiquement, mais qui contiennent toutes les bibliothèques dont elle a besoin dans un sous-dossier de l'appli (par ex: ./lib).

    Sous linux, je sais que l'on peut passer par le biais d'un script shell pour modifier LD_LIBRARY_PATH, mais je trouve ça peu élégant.

    Sous windows, je pense qu'on peut faire l'équivalent avec un batch, mais ce n'est pas plus élégant...

    Bref, je cherche le moyen de pouvoir lancer directement l'exécutable et que ce dernier trouve les bibliothèques dont il a besoin dans un ou plusieurs dossier qu'on lui aurait préalablement indiqué (dans le code?).

    Pour information, j'ai tenté des options du fichier .pro telles que DEPENDPATH ou LIBS, mais ceci ne concerne apparemment que la compilation.

    Quelqu'un aurait-il un piste?

    D'avance un grand MERCI.

    Guillaume

  2. #2
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Bonjour Guillaume78fr

    Pour linux, tu peux utiliser la directive QMAKE_LFLAGS_RPATH qui permet d'indiquer un répertoire de recherche des libs (http://qt.developpez.com/doc/4.6/qma...e-lflags-rpath) pour qmake ou avec la directive "-rpath" pour gcc (http://en.wikipedia.org/wiki/Rpath_(linking))

    Pour windows, tu n'as pas le choix : il faut que les libs soient dans le même répertoire ou un des répertoires définis dans PATH (c:\window ou w:\window\system par exemple)


    Sinon, une autre méthode qui fonctionne quelque soit le système est de créer un plugin (une bibliothèque dynamique chargée au démarrage de l'application). Tu peux charger les plugins depuis n'importe quel répertoire. Regarde la classe QPluginLoader (http://qt.developpez.com/doc/4.6/qpluginloader/) ou un exemple de code que j'avais déjà donné (http://www.developpez.net/forums/d87...t/#post5046807)

    Bon courage

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Points : 17
    Points
    17
    Par défaut
    Bonjour gbdivers,

    Tout d'abord un grand pour cette réponse ultra rapide et franchement complète. Je suis très agréablement surpris

    Bien que je vais mettre le tag résolu, il me reste une petite question annexe par rapport à cette remarque :
    Citation Envoyé par gbdivers Voir le message
    Pour windows, tu n'as pas le choix : il faut que les libs soient dans le même répertoire ou un des répertoires définis dans PATH (c:\window ou w:\window\system par exemple)
    Étant donné que j'utilise MinGW sous windows, l'option rpath ne serait-elle pas aussi valable sous windows malgré tout?

    Citation Envoyé par gbdivers Voir le message
    Bon courage
    Merci, j'en ai grand besoin

    Encore un très grand merci pour cette efficacité/clarté/concision de ta réponse.

    Guillaume

  4. #4
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Points : 15 620
    Points
    15 620
    Par défaut
    Étant donné que j'utilise MinGW sous windows, l'option rpath ne serait-elle pas aussi valable sous windows malgré tout?
    Et non ! C'est un problème de système d'exploitation et pas de compilateur.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 28
    Points : 17
    Points
    17
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Et non ! C'est un problème de système d'exploitation et pas de compilateur.
    Dommage!
    En tout cas, je dispose de toutes les infos maintenant

    En outre, je pense que ce post sera utile à d'autres...

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

Discussions similaires

  1. Déploiement d'une application.
    Par Whenseslass dans le forum Tomcat et TomEE
    Réponses: 4
    Dernier message: 03/08/2006, 17h18
  2. Tomcat 5.5: déploiement d'une application, config server.xml
    Par yizashi dans le forum Tomcat et TomEE
    Réponses: 5
    Dernier message: 02/04/2006, 17h20
  3. [Déploiement] Diffuser une application java
    Par lilli1407 dans le forum EDI et Outils pour Java
    Réponses: 2
    Dernier message: 31/01/2006, 16h49
  4. [D7][ORACLE 8i] déploiement d'une application
    Par Magnus dans le forum Bases de données
    Réponses: 3
    Dernier message: 03/10/2005, 16h40
  5. Réponses: 2
    Dernier message: 15/04/2002, 12h56

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