Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Qt 5.3.1][DLL]Comment déployer une application Qt

Anonyme
    2 juillet 2014 à 13:44:34

    Bonjour à tous.

    Un tutoriel complet pour déployer une application : http://guillaume.belz.free.fr/doku.php?id=deployer_une_application_qt

    Je vois de nombreuses personnes qui ont beaucoup de mal à déployer une application Qt 5 simplement.

    J'ai eu besoin d'en déployer une en version 5.3.1 il y a peu et après des recherches et le recoupage de plusieurs informations trouvé un peu partout sur le net je décide de "centraliser" toutes les informations nécéssaire ici. Ce post remplace donc mon précédent topic qui était prévu pour Qt 5.0.2 et qui n'était pas complet.

    J'ai essayé cette méthode sur un ordinateur lambda sans Qt d'installé et ça a fonctionné.

    C'est uniquement valable pour Windows lors de l'utilisation d'une version non statique de Qt (et donc que des DLL sont nécéssaires).

    Contenu minimum d'un projet Qt classique à distribuer :

    • Si vous utilisez MinGW :
    • libgcc_s_dw2-1.dll
    • libstdc++-6.dll
    • libwinpthread-1.dll
    • Si vous utilisez Visual C++ :
    • Fonctionne sur la base de packages redistribuables. Une recherche sur internet suffit :)
    • Sinon, utilisez msvcpXX0.dll, les XX représentant votre version de Visual C++ (12 pour Visual Studio 2013, 11 pour Visual Studio 2012, ...)
    • Et dans tous les cas :
    • icudtXX.dll (Remplacez XX par la version que vous trouverez avec les autres DLL)
    • icuinXX.dll (idem)
    • icuucXX.dll (idem)
    • Qt5Core.dll
    • platforms/qwindows.dll
    • VotreApplication.exe

    Vous trouverez la plupart des fichiers DLL ici :

    [QtPath]/[Compilateur]/bin

    En fonction des ajouts de Qt que vous effectuez dans votre projet, vous devez rajouter les DLL correspondantes. Par exemple, lors de l'utilisation de QNetwork, vous devez rajouter la DLL Qt5Network.dll.

    En cas de l'utilisation des fonctions graphique de Qt (dans 99% des cas donc je pense), il faut bien sur aussi ajouter Qt5Gui.dll et Qt5Widgets.dll.

    Il est important de ne pas oublier la DLL à placer dans le dossier platforms à coté de votre exécutable. En effet, c'est un oublie récurant mais fatal. Vous trouverez ces DLL ici :

    [QtPath]/[Compilateur]/plugins/platforms

    Naturellement, n'oubliez pas de compiler votre logiciel en Release. Ne mélangez pas les DLL debug (terminant par un d) et release. Ne mélangez pas les DLL x86 et x64 non plus.

    Une archive zip contenant le minimum des DLL nécessaire ainsi qu'une légére application compilé avec MinGW fera environ 18 Mo. C'est beaucoup, certe mais ça fonctionne au moins.

    Cette technique devrai aussi être valable pour les prochaines versions de Qt.

    Si j'ai fais une erreur ou un oublie, prévenez moi surtout.

    -
    Edité par Anonyme 2 juillet 2014 à 13:58:38

    • Partager sur Facebook
    • Partager sur Twitter
      2 juillet 2014 à 13:52:10

      Gui et Widgets ne sont utiles que si l'on utilise ces modules.

      qminimal.dll et qoffscreen.dll ne sont pas nécessaire.

      Cf Déployer une application Qt

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        2 juillet 2014 à 13:56:57

        Ok merci, je n'étais pas sur pour qminimal et qoffscreen. Je les ai mises dans le doute.

        Je préfairais laisser Gui et Widgets pour éviter la confusion aux gens qui ont du mal mais je vais les enlever

        • Partager sur Facebook
        • Partager sur Twitter

        [Qt 5.3.1][DLL]Comment déployer une application Qt

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown