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 Creator Discussion :

Est-il possible de créer un exécutable avec toutes les DLL intégrées ? [Débuter]


Sujet :

Qt Creator

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2018
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 124
    Points : 55
    Points
    55
    Par défaut Est-il possible de créer un exécutable avec toutes les DLL intégrées ?
    Bonjour à tous,

    après avoir fini de coder mon projet, je souhaiterai avoir un exécutable soit avec toutes les DLL intégrées à l'exécutable, soit mis dans le même répertoire que l'exe.
    Ou existe-t-il un moyen pour faire un installeur ? Si oui comment ?

    Merci

  2. #2
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    17 431
    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 431
    Points : 43 057
    Points
    43 057
    Par défaut
    Pour l'installeur, regardes InnoSetup.

    Pour les dll dans le même dossier que l'exe, de mémoire, en principe ça fonctionne mais l'os va d’abord les chercher dans Windows.
    Pour Qt, il y a une arborescence à respecter.
    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

  3. #3
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2018
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    Bonjour à tous,

    je relance le sujet, parce que je rencontre un problème.

    J'ai compilé en "release", puis je vais dans le répertoire "release" ou je vire tout sauf mon .exe.
    Je lance le point exe, et là j'ai une fenêtre qui me demande la "Qt5Core.dll", je la cherche dans mon répertoire Qt, la trouve et la copie avec l'exe.
    Je relance l'exe et là j'ai une erreur "0xc000007b", mais je ne suis pas capable de savoir quel est le problème.

    Quelqu'un saurait-il m'expliquer ?

    Merci

  4. #4
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 585
    Points
    188 585
    Par défaut
    Quelle DLL as-tu prise ? Tu ne peux prendre que celles qui ont été compilées avec le même compilateur que ton application, sinon, ça peut te faire des trucs bien bizarres dans ce genre-là.

    (Pour vérifier les dépendances, utilise plutôt DependencyWalker http://www.dependencywalker.com/ ou un logiciel plus récent https://github.com/lucasg/Dependencies.)
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  5. #5
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2018
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    Pour l'instant je n'ai installé que "Qt5Core.dll", et je n'ai trouvé que celle la dans mon répertoire Qt.

  6. #6
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 585
    Points
    188 585
    Par défaut
    De Qt ou de Qt Creator ? Pour Windows, ce dernier est compilé uniquement avec Visual C++, de mémoire. Si tu as pris les chemins par défaut, il faut aller chercher dans C:\Qt\5.12.0\mingw73\bin, un truc du genre.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  7. #7
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2018
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    C'est sur Qt creator, et le chemin est bien "C:\Qt\5.12.0\mingw73_64"

    Mais je suis directement confronter à un problème, il me demande la dll "libgcc_s_seh-1.dll", j'ai cherché sur tout mon disque, j'en ai trouvé 5, et ce sont exactement les mêmes (vérification binaire) et pourtant après l'avoir ajouté, je me prends l'exception.

    Je ne comprends pas, est-ce dû au fait qu'il s'attendait à une autre dll, mais sans me l'indiquer ?

  8. #8
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 585
    Points
    188 585
    Par défaut
    Oui, tu devrais aussi avoir un truc en stdc++, peut-être même aussi en pthreads. Le plus simple, c'est vraiment de regarder ce dont tu as besoin, par exemple avec Dependency Walker. Sinon, tu as aussi windeployqt, qui devrait faire le tri dans les DLL et, surtout, prendre les bonnes.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  9. #9
    Membre du Club
    Homme Profil pro
    Développeur en systèmes embarqués
    Inscrit en
    Septembre 2018
    Messages
    124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur en systèmes embarqués
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2018
    Messages : 124
    Points : 55
    Points
    55
    Par défaut
    J'ai installé "Dependency Walker" et il y a plein de dll qu'il ne trouve pas alors que j'ai ajouté le chemin du répertoire de Qt, j'ai ajouté manuellement des choses par rapport à cet outil, mais je me prenais sans arrêt l'exception.
    Alors j'en ai eu marre, j'ai fait un copier/coller de toutes les dll du répertoire Qt/bin, et là ça a fonctionné, et après j'ai viré une à une les dll dont je n'avais pas besoin, c'est à dire que je lançais mon appli et je regardais si elle s’exécutait ou pas. J'aurais dû faire ça dès le début

    En tout cas, Dourouc05, merci encore pour ton aide.

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Apprenti
    Inscrit en
    Mars 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2018
    Messages : 7
    Points : 5
    Points
    5
    Par défaut
    Bonjour,
    Pour avoir toutes les dll dans l'executable, il faut avoir compilé Qt en statique. Je te laisse ici un script que j'ai modifié en PowerShell.
    Sinon pour ajouter toutes les dll nécessaires (en dynamique) tu peux toujours utiliser windeployqt.exe qui est un outil livré avec Qt. Dans ton menu démarrer trouve le répertoire de Qt et lance la console qui correspond à ta version (par exemple : "Qt 5.12.3 (MinGW 7.3.0 64-bit)"), après tu fait "windeployqt le\chemin\ou\se\situe\ton\exe".

    Pour ce qui est de l'installateur tu peux toujours utiliser le Qt Installer Framework.

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

Discussions similaires

  1. Est-il possible de créer des tables avec des lignes identiques ?
    Par raton_laveur dans le forum Développement
    Réponses: 2
    Dernier message: 25/05/2009, 09h10
  2. est il possible de créer des treeview avec inno setup ?
    Par lovedesitaliens dans le forum Outils
    Réponses: 5
    Dernier message: 11/02/2009, 18h43
  3. Réponses: 8
    Dernier message: 23/01/2008, 09h05
  4. Réponses: 3
    Dernier message: 07/04/2005, 15h04
  5. [CR] Est il possible de créer des univers avec Seagate Info?
    Par Frank dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 27/06/2002, 15h22

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