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 :

Problème très étrange avec l'add-on QtMmlWidget


Sujet :

Qt

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut Problème très étrange avec l'add-on QtMmlWidget
    Bonjour,
    Je suis en train de coder un logiciel de CAS (calcul formel) et j'aimerais par conséquent utiliser l'add-on QtMmlWidget QTMmlWidget.
    J'ai téléchargé le pack fourni, et installé la lib comme indiqué. Il y a en fait deux façons de s'en servir :


    • Construire la lib en compilant les sources, linker les *.a, et placer les dll avec l'executable
    • Intégrer directement les sources dans le projet (il y a en fait juste deux fichiers )



    J'ai essayé les deux solutions et chacune s'est soldé par le même problème très étrange :
    Tout compile parfaitement (en release et en debug), et au momment d'exécuter la sortie, j'ai un message d'erreur :

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

    Note : les dll mingwm10, QtGUI4, QtCore4, et QtXML4 sont bien présentes dans leur version release.
    J'ai le même problème en compilant avec le template codeblocks, l'IDE Qt Creator, et la console ! Encore plus étrange, si je lance le programme depuis la touche lecture de codeblocks ou Qt Creator, le programme se lance normalement, seulement si les dll ne sont pas présentes auprès de l'executable ! C'est le seul moyen d'exécuter l'application.


    Enfin, il faut noter que le problème reste le même sur les trois ordinateurs différents sur lesquels j'ai compilé et testé le projet (2XP un Vista). De plus, même l'exemple fourni dans le pack de MmlWidget présente le même problème avec toutefois un message légerement diferent :

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

    Encore une fois, il tourne depuis la touche lecture de l'IDE !
    Etant donné la simplicité de la lib MML Widget (2 fichiers sources), j'ai de plus en plus tendance à penser que le problème ne vient pas de moi. Cependant, si j'ai de bonnes connaissances sur MinGW, make, gcc, et ld, je suis encore assez novice sur Qt

    Pour vous donner tous les moyens de comprendre mon problème, je joins une archive contenant une mini application utilisant MML Widget. Cette application se contente d'ouvrir une fenêtre et d'afficher la formule "racine de l'inverse de a + b". Les sources sont extrêmement simples et j'ai intégré la lib MML en ajoutant les deux fichiers sources au projet. J'ai testé et compilé ce projet sous codeblocks et Qt Creator. Dans le dossier release vous trouverez l'exécutable et les dll. Si vous voulez lancer le projet depuis Qt Creator ou CB, n'oubliez pas d'enlever les dll.
    Archive *.rar

    Merci pour votre aide,
    Je m'engage à ajouter une note dans la documentation finale du logiciel remerciant celui qui m'aura aidé à trouver une solution !

    PS : tant que possible, je ne souhaite pas compiler Qt en statique

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur expert
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2004
    Messages : 10 033
    Points : 13 968
    Points
    13 968
    Par défaut
    Salut.
    Tu doit avoir plusieurs version de Qt d'installé. Lors que tu lance l'appli, il essaie de charger des dll qui ne corresponde pas à celle que tu utilise pour la compilataion.

    [edit]
    après compilation de tes sources, ca marche chez moi.

  3. #3
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 658
    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 658
    Points : 188 670
    Points
    188 670
    Par défaut
    En effet, étrange problème.

    Es-tu sûr de bien utiliser les bonnes versions de Qt ? Des headers de 4.5.0 OSS et des .a de 4.5.0 OSS et des .dll de 4.5.0 OSS ? Il me semble que ce genre de problème peut être créé par des versions non correspondantes (version de Qt ; éditions commerciale, d'évalutation, libre).

    L'application se lance bien sans DLL à côté. Est-ce bien les mêmes DLL utilisées dans les deux cas (avec ou sans DLL à côté) ? N'y a-t-il pas de restes d'une ancienne (ou autre) version ? Voire un mélange de versions du compilateur (ou, pire, de compilateurs) ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2009
    Messages
    23
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 23
    Points : 19
    Points
    19
    Par défaut
    J'utilise la dernière version de Qt en fait (4.5), et je l'ai même réinstallée... De plus, je n'ai jamais utilisé de versions anterieures ! Enfin, comme je l'ai précisé, j'ai testé sur 3 PC differents qui n'avaient jamais servis à la programmation !

    J'ai donc du mal à comprendre comment differentes versions pourraient s'être mélangées. Savoir quelles dll Qt creator et Codeblocks vont chercher pour que ça marche pourrait constituer un premier élément de réponse. C'est d'autant plus bizarre que ça marche chez toi, yan.

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 658
    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 658
    Points : 188 670
    Points
    188 670
    Par défaut
    Je n'aime pas rester face à ce genre d'échec. Après multiples recherches sur le web, voici quelques autres pistes.

    Une autre application Qt dans le PATH ?

    Tu utilises le QtSDK ou pas ? Si oui, tes DLL proviennent d'où ? <Qt>\bin ? <Qt>\Qt\bin ?

    Et si tu recopie les DLL vers %WINDIR%\system32 de ... ?
    • Ton dossier Qt/bin (Qt SDK : Qt/Qt/bin)
    • Celui de ton application
    Essaye une désinstallation plus poussée de Qt : suppression de toutes les DLL Qt du PATH (dont dossier Windows). (Enfin, suppression... Fais des back-ups).

    Les raisons de ce genre de message sont souvent des incompatibilités de versions. Je n'ai rien trouvé d'autre qui pourrait causer ce genre d'ennuis...

    Si tu trouves la solution, fais-nous en part !

  6. #6
    Membre à l'essai
    Homme Profil pro
    RSE
    Inscrit en
    Mai 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : RSE

    Informations forums :
    Inscription : Mai 2012
    Messages : 6
    Points : 11
    Points
    11
    Par défaut
    Bonjour,

    Je remets le topic sur le tapis... exactement le même problème:

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

    Désinstaller, réinstaller...tout supprimer, réinstaller.. enfin bref, en ayant fait quelques recherches il semblerait que ce soit un problème de compatibilité alors que j'ai qu'une version.. la dernière !

    Merci

Discussions similaires

  1. Problème très étrange avec MAX
    Par tintin72 dans le forum Requêtes
    Réponses: 7
    Dernier message: 07/11/2014, 17h29
  2. [AC-2003] Problème très étrange avec Recordset ?
    Par [ZiP] dans le forum VBA Access
    Réponses: 1
    Dernier message: 24/03/2010, 11h59
  3. Réponses: 5
    Dernier message: 12/07/2007, 10h07
  4. problème très étrange avec mes tableaux
    Par lelutin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/09/2006, 14h47
  5. Problème très étrange...
    Par TitiFr dans le forum Requêtes
    Réponses: 4
    Dernier message: 31/03/2005, 21h37

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