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

Plateformes Discussion :

Déploiement d'application


Sujet :

Plateformes

  1. #1
    Membre à l'essai
    Déploiement d'application
    Bonjour,

    Dans le cadre de notre formation nous avons un petite application à programmer.
    J'ai décidé d'utiliser le framework Qt.

    Sauf que le prof souhaite pouvoir compiler et lancer sur sa propre machine. Sauf que je ne vois pas comment faire un script pour faire une installation de qt sur son ordinateur pour qu'il puisse compiler mon projet avec mes sources

  2. #2
    Responsable 2D/3D/Jeux

    Bonjour,

    Ma réponse va être naze, mais le mieux, c'est de demander à l'utilisateur de l'installer. Sinon, vous êtes sur que cela compilera sur la machine du professeur, surtout que vous partez d'un Mac.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre à l'essai
    Ma réponse va être naze mais, vous avez entièrement raison !
    Je me suis assez embêté a mettre mac sur une machine virtuelle pour déployer sur cette plateforme.
    Donc si il veut compiler, je lui enverrai avec plaisir le lien de téléchargement

  4. #4
    Responsable 2D/3D/Jeux

    Quels sont les consignes ? Est-ce qu'il est demandé à ce que cela compile ? Est-ce qu'il est demandé à ce que cela fonctionne spécifiquement sur Mac ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre à l'essai
    et bien, d'abord il a dit exactement :

    Il faudra déposer les sources ainsi qu'un document qui explique comment compiler et installer le logiciel (et éventuellement les librairies nécessaires). Personnellement, je testerai sur OSX mais normalement il n'y a rien de spécifique par rapport à une compilation/installation Unix.
    Et plus tard

    Ca ne me dérange pas d'installer Qt. Si vous savez préparer un packaging qui ne m'oblige pas d'installer c'est encore mieux.
    Je suis le client et vous devez me livrer votre logiciel.
    Donc à priori, un petit macdeployqt suffit x)

  6. #6
    Responsable 2D/3D/Jeux

    Oui, un package qui s'installe tranquillement, cela ira (pour le côté exécution, sans compilation). Pour la compilation, dites que la dépendance est Qt (+ numéro de version, quitte à donner le lien directement). Préparez bien votre projet pour qu'il se compile facilement (sans erreurs/ni warnings, même sur une machine "neuve") et le tour est joué.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  7. #7
    Membre à l'essai
    Merci d'avoir répondu

    Mais ... un package qui s'installe .. hum sur mac je ne peux pas donner directement "l'application" donc aucune installation ? C'est-à-dire l’exécutable crée par la compilation (sans oublier d'utiliser macdeployqt pour les dépendances) ...

    De même pour Windows d'ailleurs, je pensais seulement faire un zip du répertoire de l’exécutable et des dépendances x)

    Pour ubuntu c'est encore plus délicat ... je ne sais pas faire x)
    J'ai voulu d'abord compiler qt en statique pour n'avoir aucune dépendance et la compilation se termine par un échec ..
    Puis faire un package qui installe les lib nécessaires dans /usr/lib je ne sais pas faire ... et modifier la variable LD_LIBRARY_PATH dans un script pour que l'application cherche les libs dans son répertoire courant est un échec total .. (en utilisant le script fourni par la documentation http://doc.qt.io/qt-5/linux-deployment.html .

    Bref, j'ai encore beaucoup de chose à apprendre

  8. #8
    Responsable 2D/3D/Jeux

    Lorsque ce que je dis un package, il peut prendre n'importe qu'elle forme, dont le simple zip avec l'exécutable et les DLL/SO/...
    Pour Linux, vous mettez les .so avec le binaire. Ensuite, vous faites un petit script (.sh) qui est sous la forme :
    Code bash :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    #!/bin/bash
     
    LD_LIBRARY_PATH=./ ./monSuperProgramme


    Et le tour est joué.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  9. #9
    Membre à l'essai
    Ok merci

    ça semble fonctionner maintenant

    En faite quand je voulais récuperer par exemple la lib libQt5Gui.so.5 ... il existait en plus libQt5Gui.so.5.6 et libQt5Gui.so5.6.0 ... et je ne mettais que la première a chaque fois x)
    Au final ça fait quand même ~25 libs dans mon répertoire x) Mais ça fonctionne pour le moment !

    Par contre je n'ai pas mis les lib /usr/lib quand on fait ldd ./application ...

  10. #10
    Responsable 2D/3D/Jeux

    Normalement, à part Qt, vous devez n'utiliser que des trucs de base (libc/libm...) donc, non, il n'y a pas besoin de mettre plus. Enfin, je dis bien, que si vous utilisez des trucs de base .
    Pour les .so, généralement, les .5.6.0 et 5.6 sont des liens symboliques (vers .5) (ou inversement )
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  11. #11
    Membre à l'essai
    Merci de ton aide