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 :

Création d'un exécutable portable


Sujet :

Qt

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut Création d'un exécutable portable
    Bonjour à tous

    J'ai développer une application sous Qt et je souhaiterais avoir un exécutable portable pour linux et windows.

    Mais je ne sait pas comment faire l'un d'entre vous à t-il une idée de comment faire ?

    En vous remerciant

  2. #2
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 612
    Points
    30 612
    Par défaut
    Salut,

    Le problème, c'est que les binaires créés pour windows ne sont vraiment pas organisés de la même manière que ceux créés sous linux. Tu ne pourras donc pas obtenir un seul exécutable qui soit utilisable sous linux et sous windows (on est en C++, pas en java, ici )

    Par contre, a priori, si tu as bien veillé à ne pas utiliser de fonctionnalités propres au système sur lequel tu as fait ton développement et que ton code compile sous windows (ou sous linux), tu devrais pouvoir arriver à le compiler sous "l'autre OS".

    Tu as alors deux possibilités : utiliser ce que l'on appelle un compilateur croisé (cross compiler, en anglais), mais cela impliquera de disposer des deux versions de Qt ("native", correspondant à ton OS de développement et "croisées" correspondant à "l'autre OS) d'installées ou...

    Effectuer la compilation sous les deux OS (l'un pouvant éventuellement être lancé dans une machine virtuelle comme virtualbox.
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    J'avais bien compris cela .
    Le soucis c'est de pouvoir avoir un exécutable possédant les librairies que j'utilise afin d'utiliser mon application sur un ordi
    ne possédant pas forcement Qt

  4. #4
    Membre émérite
    Avatar de ymoreau
    Homme Profil pro
    Ingénieur étude et développement
    Inscrit en
    Septembre 2005
    Messages
    1 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur étude et développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 154
    Points : 2 834
    Points
    2 834
    Par défaut
    Il y a une doc dédiée à ça (en anglais comme toujours) : http://doc.qt.io/qt-5/deployment.html

    Sous Windows il suffit de copier les dll avec ton exécutable (tu peux faire une archive avec tout dans le même dossier et ça fonctionne, pour les plugins c'est plus délicat mais ça marche aussi).
    Sous Linux ça m'avait paru moins évident quand j'avais essayé il y a longtemps. Et puis il y a différents Linux, je ne suis pas certain que ça fonctionne strictement pareil sur tous. En général sous Linux on utilise plutôt des gestionnaires de paquet, et donc on installe généralement Qt dans le système avec une dépendance sur son paquet.

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    merci pour ta réponse je pense que du cout je vais faire seulement un exécutable windows alors

    Petite question ou retrouve mes .dll ?

    Et est ce faisable de faire un genre de programme d'installation pour mon application en incluant d'autre package j'ai par exemple besoin de mysql
    et je souhaiterais proposer a l'utilisateur de l'installer au besoin

    Merci

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 426
    Points : 43 044
    Points
    43 044
    Par défaut
    Il te faudra placer les dlls dans les sous-dossiers ou Qt les attends, tu peux voir cela avec Dependancy Walker.

    Pour l'installation, regardes du coté de Inno Setup.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  7. #7
    Membre averti
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2010
    Messages
    248
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mai 2010
    Messages : 248
    Points : 421
    Points
    421
    Par défaut windeployqt et compilation statique
    Sur Windows, un outils est déjà fourni par Qt afin de récupérer les dépendances nécessaire au déployement, il s'agit de windeployqt.exe.
    Voir la doc ici: Qt for Windows - Deployment

    Je ne sais pas si un équivalent existe pour Linux.

    Sinon il est aussi possible d'utiliser la compilation statique, qui permet de créer un éxecutable indépendant ne nécessitant pas de dlls externes, le désavantage est que l'on passe en licence GPL.
    Par contre il faut compiler la librairie Qt en statique et c'est un peu plus compliqué que d'utiliser windeployqt.exe. Néanmoins une fois cela fait il est très facile de créer un exécutable indépendant, ce qui est bien pratique pour une utilisation privé ou en interne.
    Explications: Building a static Qt for Windows using MinGW

  8. #8
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2017
    Messages : 4
    Points : 1
    Points
    1
    Par défaut
    Bonjour

    J'ai effectivement réussi a faire ce que je voulais avec windeployqt.exe. je te remercie

    Faut que je trouve le même genre de truc sous linux ^^

  9. #9
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 426
    Points : 43 044
    Points
    43 044
    Par défaut
    Sous Linux, tu peux toujours créer un paquet :

    http://alp.developpez.com/tutoriels/.../creer-paquet/

    valables pour les bases Debian (Ubuntu, Mint, etc).
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  10. #10
    Membre extrêmement actif
    Profil pro
    Développeur
    Inscrit en
    Mars 2012
    Messages
    1 969
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2012
    Messages : 1 969
    Points : 3 375
    Points
    3 375
    Par défaut
    Il y a aussi les paquets Snap et le répository Pypi.
    Si la réponse vous a aidé, pensez à cliquer sur +1

  11. #11
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 17 426
    Points : 43 044
    Points
    43 044
    Par défaut
    Pypi c'est pour python non ?
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  12. #12
    Membre actif
    Avatar de katanaenmousse
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 220
    Points : 232
    Points
    232
    Par défaut
    Pour Linux (ubuntu) j avais lancé une discussion ici
    https://www.developpez.net/forums/d1...opie-fichiers/
    J y ai expliqué ma solution Et ça fonctionne
    Bonne soirée
    KatanaEnMousse
    Une fois qu'une réponse qui vous convient a été trouvée à votre sujet, pensez à le mettre en résolu.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/11/2016, 14h55
  2. Création d'un exécutable
    Par astyanax dans le forum Powerbuilder
    Réponses: 4
    Dernier message: 03/07/2007, 20h34
  3. création javadoc + jar exécutable
    Par scoder dans le forum Langage
    Réponses: 7
    Dernier message: 04/11/2005, 17h06
  4. [IDEA] Création d'un exécutable
    Par seb.ch dans le forum Environnement de Développement Intégré (EDI)
    Réponses: 2
    Dernier message: 04/07/2005, 09h43
  5. Création automatique d'exécutable
    Par bourdon dans le forum Langage
    Réponses: 12
    Dernier message: 13/06/2005, 21h17

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