IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Viadeo Twitter Facebook Share on Google+   
Logo Documentation Qt ·  Page d'accueil  ·  Toutes les classes  ·  Toutes les fonctions  ·  Vues d'ensemble  · 

Déployer des applications Qt

Déployer des applications Qt ne requiert pas de programmation en C++. Tout ce dont vous avez besoin est de compiler Qt et votre application en mode release, en suivant les procédures décrites dans la documentation. Nous allons montrer la procédure de déploiement avec l'application Plug & Paint qui est fournie dans le dossier des exemples de Qt.

Bibliothèques statiques contre dynamiques

Il y a deux façons de déployer une application :

  • linkage statique ;
  • linkage dynamique (frameworks sur Mac).

Le linkage statique produit un exécutable qui peut être utilisé seul. L'avantage est que vous aurez peu de fichiers à déployer. Les inconvénients sont que les exécutables sont plus lourds et non flexibles (c'est-à-dire qu'une nouvelle version de Qt ou de l'application obligera un nouveau déploiement) et que vous ne pouvez pas déployer de plug-ins.

Pour déployer des applications avec des plug-ins, vous pouvez utiliser l'approche des bibliothèques dynamiques. Le linkage dynamique produit des exécutables plus petits et flexibles. Par exemple, avec le linkage dynamique, l'utilisateur peut mettre à jour indépendamment l'application et les bibliothèques utilisées.

Une autre raison pour choisir le linkage dynamique est l'utilisation des mêmes bibliothèques pour une série d'applications. En téléchargeant les binaires de Qt, vous aurez Qt en tant que bibliothèque dynamique.

L'inconvénient du linkage dynamique est qu'il y a plus de fichiers à déployer. Pour plus d'informations, voir Créer des bibliothèques dynamiques.

Déployer les bibliothèques de Qt

Bibliothèques Qt
QAxContainer QAxServer QtCore QtDBus
QtDesigner QtGui QtHelp QtNetwork
QtOpenGL QtScript QtScriptTools QtSql
QtSvg QtWebKit QtXml QtXmlPatterns
Phonon Qt3Support

Puisque Qt n'est pas une bibliothèque système, elle doit être redistribuée avec votre application ; le minimum est de redistribuer les DLL utilisées par votre application. Avec le linkage statique, les bibliothèques utilisées sont compilées dans l'exécutable.

En général, vous devez déployer tous les plug-ins utilisés par votre compilation de Qt, en enlevant uniquement ceux identifiés comme non nécessaires pour votre application et ses utilisateurs.

Par exemple, vous aurez peut-être besoin de déployer des plug-ins pour le support des images JPEG et des drivers SQL, mais vous devez aussi déployer les plug-ins qui peuvent être requis pour l'utilisateur, comme ceux d'accessibilité. Voir Comment créer des plug-ins Qt pour plus d'informations.

Quand vous déployez une application avec des bibliothèques dynamiques, vous devez vous assurer que les bibliothèques Qt utiliseront le bon chemin pour trouver les plug-ins Qt, traductions, etc. Pour cela, vous pouvez utiliser un fichier qt.conf. Pour plus d'informations, voir la documentation sur l'utilisation de qt.conf.

Selon la configuration, les bibliothèques spécifiques au compilateur doivent être distribuées aussi. Pour plus d'informations, voir les sections sur les dépendances des applications selon les plateformes : X11, Windows et Mac.

Licences

Certaines bibliothèques Qt sont basées sur des bibliothèques tierces qui ne sont pas sous les mêmes licences que Qt. Par conséquent, des précautions doivent être prises lors du déploiement des applications qui utilisent ces bibliothèques, particulièrement lorsque l'application est linkée statiquement.

La table suivante contient une liste non exhaustive des problèmes que vous devriez connaître.

Bibliothèque Qt Dépendance Problème de licence
QtHelp CLucene La version de CLucene distribuée avec Qt est sous licence GNU LGPL version 2.1 ou ultérieure. Ceci a des implications pour les développeurs d'applications non open source. Reportez-vous à la documentation du module QtHelp pour plus d'informations.
QtNetwork OpenSSL Certaines configurations de QtNetwork utilisent OpenSSL à l'exécution. Le déploiement des bibliothèques OpenSSL est sujet à des restrictions de licence et d'exportation. Plus d'informations peuvent être trouvées dans la documentation des classes Secure Sockets Layer (SSL).
QtWebKit WebKit WebKit est sous licence GNU LGPL version 2 ou ultérieure. Ceci a des implications pour des développeurs d'applications non open source. Reportez-vous à la documentation sur le module QtWebKit pour plus d'informations.
Phonon Phonon Phonon est basé sur les moteurs multimédia natifs pour les différentes plateformes. Phonon lui-même est sous licence GNU LGPL version 2. Reportez-vous à la documentation sur le module Phonon pour plus d'informations sur la licence et à vue d'ensemble de Phonon pour l'utilisation sur les différentes plateformes.

Notes spécifiques aux plateformes

La procédure pour déployer des applications Qt est différente pour les différentes plateformes :

Voir aussi installation et la documentation spécifique aux plateformes.

Remerciements

Merci à Paul Musti?re pour la traduction et à Jonathan Courtois, Claude Leloup et Jacques Thery pour leur relecture !

Cette page est une traduction d'une page de la documentation de Qt, écrite par Nokia Corporation and/or its subsidiary(-ies). Les éventuels problèmes résultant d'une mauvaise traduction ne sont pas imputables à Nokia. Qt 4.7
Copyright © 2021 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon, vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.
Vous avez déniché une erreur, une redirection cassée ou tout autre problème, quel qu'il soit ? Ou bien vous désirez participer à ce projet de traduction ? N'hésitez pas à nous contacter ou par MP !