Partage
  • Partager sur Facebook
  • Partager sur Twitter

QtCore4.dll

Sujet résolu
    17 février 2010 à 12:44:47

    Bonjour,

    J'ai téléchargé les fichiers sources et l'exécutable du programme ZNavigo dans le tutoriel de M@teo21 sur le C++.

    Quand j'essaye de lancer l'exécutable, la console d'erreur Windows m'affiche ce message :

    "Le fichier Mingwm10.dll est introuvable sur votre ordinateur."


    Je vais sur ce site: http://www.dll-files.com/
    ...je télécharge le fichier Mingwm10.dll...
    ...et réessaye d'ouvrir l'exécutable.

    Là, nouvelle console d'erreur :

    "Le fichier qtcore4.dll est introuvable sur votre ordinateur."


    Je refais la même démarche et je télécharge le fichier.
    J'essaye une troisième fois de lancer l'exécutable de mon programme...
    Troisième console d'erreur, et c'est là qu'est le problème :

    Le point d'entrée de procédure
    _Z20qt_qFindChild_helperPK7QObjectRK7QStringRK11QMetaObject
    est introuvable dans la bibliothèque des liens dynamiques QtCore4.dll.


    Comment puis-je résoudre l'erreur et faire marcher le programme ?
    Je n'ai rien touché au fichier.
    Avez-vous déjà rencontré ce problème et l'avez-vous résolu ?

    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
      17 février 2010 à 12:50:57

      Il faut que tu utilises les DLLs de la même version de Qt qui a été utilisée pour compiler l'exécutable. J'imagine que c'est indiqué dans le tutoriel ou dans l'archive.
      • Partager sur Facebook
      • Partager sur Twitter
        17 février 2010 à 15:20:18

        Mais puisque l'ordinateur me dit qu'il faut que j'installe qtcore4, ça doit être la version 4, non ?
        • Partager sur Facebook
        • Partager sur Twitter
          17 février 2010 à 15:45:01

          Oui, mais il faut aussi la même version mineure (qui n'est pas indiquée dans le nom de fichier) et surtout, il faut la DLL qui a été compilée avec le même compilateur qui a créé l'exécutable.
          • Partager sur Facebook
          • Partager sur Twitter
            17 février 2010 à 15:50:47

            Si tu cherchais dans le répertoire d'installation de Qt?
            Tu peux même lancer une recherche sur *.dll
            • Partager sur Facebook
            • Partager sur Twitter
              17 février 2010 à 16:06:03

              Je n'ai pas besoin d'installer Qt ni de chercher dans son répertoire ; ce qu'il faudrait savoir, c'est avec quelle version de Qt M@teo21 a fait son script...
              Je vais essayer de voir sur internet si d'autres versions du .dll de Qt sont disponibles.
              • Partager sur Facebook
              • Partager sur Twitter
                17 février 2010 à 16:09:01

                Il faut que tu installes Qt et que tu ailles dans C:/Qt/4.6.2/bin et tu trouveras toutes les DLL nécessaires aux programmes utilisant Qt.

                4.6.2 étant le numéro de version du mois de février, tu peux en profiter pour faire une mise-à-jour si tu ne l'as pas encore faite ;)

                Mingwm10.dll est nécessaire uniquement quand le programme est compilé en debug, et dans ce cas il faut également que QtCored4.dll et QtGuid4.dll (avec un "d" avant le 4) soient présentes dans le répertoire de ton programme.

                Sinon en version release, tu n'as besoin que de QtCore4.dll et QtGui4.dll.
                • Partager sur Facebook
                • Partager sur Twitter
                  17 février 2010 à 16:30:57

                  Merci DooDee, j'ai trouvé toutes les .dll dans le dossier (pas celui que tu m'as donné, mais presque : C:\Qt\4.6.2\bin\ C:\Qt\qt\bin\).
                  C'est peut-être parce que je n'ai pas fait la mise à jour (quoi que... ^^ )

                  Sinon, tu voudrais dire qu'il faudrait que je place dans le dossier QtCored4.dll à la place de QtCore4.dll ? Je vais essayer ;)

                  Merci encore.
                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 février 2010 à 16:43:36

                    Si c'est QtCore4.dll, ce n'est pas QtCored4.dll.

                    Il faut juste que tu prennes la DLL compilée avec gcc (MinGW), normalement la dernière version devrait fonctionner du fait que les versions mineures sont backward compatible (i.e. 4.6.2 est compatible avec toute version 4.x.x).

                    Le mieux c'est que tu télécharges les fichiers de développement pour MinGW depuis le site officiel, dedans il y aura les bonnes DLLs (après QtCore tu auras besoin d'autres). Mais ça tu aurais déjà dû le faire si tu t'intéresses à ce tutoriel, non ?
                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 février 2010 à 16:50:52

                      Citation : DooDee

                      Mingwm10.dll est nécessaire uniquement quand le programme est compilé en debug


                      Non.

                      Tout le temps, à partir du moment où tu compiles avec MinGW avec threads et exceptions activés en même temps.
                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 février 2010 à 16:52:00

                        Résolu !!
                        En fait, j'ai fait plus simple, parce qu'a chaque fois l'ordinateur me demandait un nouveau .dll.
                        Du coup, j'ai copié tous les fichiers .dll du dossier et je les ai collés dans le dossier du ZNavigo.
                        Peut-être que certains sont inutiles, mais en tout cas ça marche ;)
                        Merci pour votre aide.
                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 février 2010 à 16:54:49

                          C'est sûr, c'est bien connu que c'est beaucoup mieux de faire ça plutôt que de comprendre pourquoi ça ne va pas.
                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 février 2010 à 16:57:55

                            Pour ne pas à avoir à mettre les DLL de Qt à chaque fois, il faut les mettre dans C:\Windows\system32 directement
                            • Partager sur Facebook
                            • Partager sur Twitter
                              17 février 2010 à 17:04:09

                              Ouaip, mais quand tu veux distribuer ton appli, tu sais pas forcément quelles DLL sont utilisées par ton prog.
                              Le mieux, à partir de la situation qu'il s'est créée(touts les DLL dans son dossier), c'est qu'il les enlève une par une tant que ça marche pas.
                              Comme ça, il sait précisément lesquelles sont indispensables ^^
                              • Partager sur Facebook
                              • Partager sur Twitter
                                17 février 2010 à 17:10:13

                                C'est trop cool ce truc Oo
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  17 février 2010 à 17:52:26

                                  En général quand on code une appli, on sait quels modules (donc quelles DLLs) de Qt on utilise. Là il ne sait pas car ce n'est pas lui qui a écrit le programme.
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    18 février 2010 à 0:09:59

                                    Citation : spider-mario

                                    Citation : DooDee

                                    Mingwm10.dll est nécessaire uniquement quand le programme est compilé en debug


                                    Non.

                                    Tout le temps, à partir du moment où tu compiles avec MinGW avec threads et exceptions activés en même temps.



                                    Ah oué, c'est vrai que pour se passer de cette DLL, il ne faut pas oublier de retirer l'option -mthreads dans le makefile !
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      18 février 2010 à 18:39:21

                                      Citation : iSodiuM

                                      Pour ne pas à avoir à mettre les DLL de Qt à chaque fois, il faut les mettre dans C:\Windows\system32 directement



                                      Sous Windows 7, savez-vous quel est l'équivalent de ce dossier ?
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        18 février 2010 à 18:46:01

                                        Ça n'existe plus C:\Windows\system32 sous Windows 7 ?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          18 février 2010 à 18:50:28

                                          Citation : DooDee

                                          Citation : spider-mario

                                          Citation : DooDee

                                          Mingwm10.dll est nécessaire uniquement quand le programme est compilé en debug


                                          Non.

                                          Tout le temps, à partir du moment où tu compiles avec MinGW avec threads et exceptions activés en même temps.



                                          Ah oué, c'est vrai que pour se passer de cette DLL, il ne faut pas oublier de retirer l'option -mthreads dans le makefile !


                                          Ou ajouter -fno-exceptions, si l'on a besoin des threads mais pas des exceptions.
                                          Et modifier qmake.conf est plus efficace que modifier chaque Makefile généré...
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            18 février 2010 à 19:39:45

                                            Citation

                                            Sous Windows 7, savez-vous quel est l'équivalent de ce dossier ?


                                            C'est crade, utilise plutôt la variable d'environnement PATH (ajoutes-y le répertoire qui contient tes DLLs).
                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              22 septembre 2010 à 17:46:22

                                              Bonjour à tous !
                                              j'ai le même problème, il me demande plusieur dll, je l'ai installée, puis il me dit que le chemin d'accés à qtcore4 est pas bon ...
                                              que faire ?
                                              merci de votre aide !!
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                                2 novembre 2010 à 16:52:01

                                                Bonjour, désolé de déterrer le sujet mais j'ai aussi un souci au niveau des DLLs.

                                                En effet je compile sans problèmes en mode debug en mettant les DLLs contenue dans C:\Qt\2010.05\qt\bin.
                                                Mais désormais j'aimerais compiler en release, je met les DLLs demandées (contenue dans le même dossier que précédemment) mais, j'ai une erreur :

                                                The procedure entry point ?trUtf8@QMetaObject@@QBE?AVQString@@PBD0H@Z could not be located in the dynamic link library QtCore4.dll


                                                Voila, merci d'avance pour vos réponses !
                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  3 novembre 2010 à 12:59:35

                                                  @Valgalou et Kiwy :
                                                  Vous voudriez pas démarrer un nouveau topic ?
                                                  Celui-ci a été résolu il y a plus de 6 mois !
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  QtCore4.dll

                                                  × 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