Partage
  • Partager sur Facebook
  • Partager sur Twitter

Comment connaitre les DLL utilisées ?

    21 juillet 2007 à 3:25:57

    Hello , je voudrais savoir comment faire pour savoir quels sont les DLL utilisé par une application ? (code avec Qt) pour permettre une distribution ?

    merci
    • Partager sur Facebook
    • Partager sur Twitter
      21 juillet 2007 à 3:41:51

      ben d'habitude, tu t'arange pour connaître ta lib et ensuite tu prend les DLL fournit avec la lib?
      • Partager sur Facebook
      • Partager sur Twitter
        21 juillet 2007 à 3:59:39

        le probleme c'est qu'avec Qt .. generalement on utilise pas toute les dll , toutes les mettres alourdirais trop :/ (21,4 mo de dll si je les mets toutes ...)
        • Partager sur Facebook
        • Partager sur Twitter
          21 juillet 2007 à 4:21:39

          Il doit bien y avoir dans la doc une place où chaque DLL est lié à des classes, je vais allé voir.
          • Partager sur Facebook
          • Partager sur Twitter
            21 juillet 2007 à 4:24:37

            oui je crois que c'est lié au classe , mais comme je suis pas sure :p
            • Partager sur Facebook
            • Partager sur Twitter
              21 juillet 2007 à 4:39:25

              Quelle version tu utilise?
              • Partager sur Facebook
              • Partager sur Twitter
                21 juillet 2007 à 5:06:24

                hum, la doc est en anglais et il y beaucoup de choses XD, mais il y a un livre qui explique Qt, peut-etre explique-t-il quelle DLL à installer.
                zut, il est dispo en pdf seulement pour QT 3
                • Partager sur Facebook
                • Partager sur Twitter
                  21 juillet 2007 à 8:45:10

                  si tu compile avec MinGW tu met mingw10.dll+ celles de Qt: QtCore,QtGUI et après je sais pas trop :p
                  • Partager sur Facebook
                  • Partager sur Twitter
                    21 juillet 2007 à 10:19:14

                    Le plus simple c'est d'essayer.

                    QtCore est obligatoire de meme que QtGui (si t as fait une GUI), sinon le reste dépend des modules que t as utilisé. Si tu utilises SQL mets la dll qui correspond, ets.
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Co-auteur du cours de C++. ||| Posez vos questions sur le forum ||| Me contacter.
                      21 juillet 2007 à 11:37:54

                      En admettant que ton programme ne charge dynamiquement les dll utiles. Tu peux télécharger un logiciel qui s'appèle EditHexa et qui te permet de visulaliser la structure de ton exécutable ainsi que l'ensembles des DLL que ton programmes utilises et les fonctions que tu appèle dans ces DLL. Après je fais pas de pub, il en existe sûrement d'autres(voir du côté des éditeurs hexadécimaux) mais j'aime bien celui là.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        21 juillet 2007 à 16:14:29

                        Citation : Nanoc

                        Le plus simple c'est d'essayer.

                        j'aimerais bien , mais il va me chercher les dll dans le path , du coup meme si je les mets pas a coté de l'exe , il les trouve

                        je vais voir si je peut trouver les dll utilisé , avec Process Explorer
                        edit: bon on peut pas :/
                        • Partager sur Facebook
                        • Partager sur Twitter
                          21 juillet 2007 à 16:24:27

                          par défaut c'est mingw10.dll, QtCore4.dll et QtGui4.dll (si tu passes par un fichier .pro) sinon ce sont celles que tu utilises, pour chaque libqt***4.a correspond une DLL (Qt***4.dll)
                          • Partager sur Facebook
                          • Partager sur Twitter
                            21 juillet 2007 à 23:58:02

                            Sinon, en utilisant un débugger comme gdb, je crois qu'on peut avoir accès à l'ensemble des DLL chargées et si tu utilise Code-Blocks en mode débugger, il y a une fenêtre qui liste ces DLL. Sinon un éditeur hexadécimal suffisamment performant ira aussi.
                            En tous les cas, ton problème a une solution à portée de main.
                            • Partager sur Facebook
                            • Partager sur Twitter
                              22 juillet 2007 à 0:03:40

                              ou alors tu bidouilles, tu compiles Qt en static pour virer les DLL et tu vires le support du multithread pour pouvoir virer mingw10.dll
                              • Partager sur Facebook
                              • Partager sur Twitter
                                22 juillet 2007 à 2:10:38

                                Citation : minirop

                                ou alors tu bidouilles, tu compiles Qt en static pour virer les DLL et tu vires le support du multithread pour pouvoir virer mingw10.dll


                                non ca va , ca me gene pas les dll .. je prefere avoir un petit .exe et plusieurs dll qu'un enorme .exe :)
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  22 juillet 2007 à 2:14:17

                                  Salut,

                                  Sous Windows, il y a aussi "Dependency Walker" (depends.exe), installé avec le kit de développement Windows, qui permet de lister (entre autres choses) les DLLs utilisées par un programme.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    22 juillet 2007 à 4:12:13

                                    Sinon ya une manière très simple, tu enlève les DLL de ton dossier, tu exécute ton .exe et tu attend le fameux message "blablabla.exe ne peut trouver blablabla.dll" et tu met les DLL que le fameux message demande. ;)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      22 juillet 2007 à 16:47:16

                                      Citation : [Kansuu]

                                      Sinon ya une manière très simple, tu enlève les DLL de ton dossier, tu exécute ton .exe et tu attend le fameux message "blablabla.exe ne peut trouver blablabla.dll" et tu met les DLL que le fameux message demande. ;)


                                      j'ai expliqué plus haut que c'est pas posssible , car les .dll sont dans la varabie systeme PATH , du coup il les trouve quand meme
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Anonyme
                                        22 juillet 2007 à 19:35:09

                                        Salut Kedare,

                                        tu peux regarder du coté de Process Explorer (de feu Sysinternals desormais Microsoft), tu as une option pour vers les Handles et DLL detenus et/ou ouverts par ton appli, tu trouveras surement les DLL en question dans la masse.

                                        Bon courage.
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          23 juillet 2007 à 9:45:16

                                          Tu edit le path au pire..

                                          Tu ne mets que les dll evidentes (qtcore...) et tu lis les messages d'erreur à l'execution et tu complètes ton repertoir...
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Comment connaitre les DLL utilisées ?

                                          × 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