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 :

[Qt4.4.3] Problème d'export d'application


Sujet :

Qt

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut [Qt4.4.3] Problème d'export d'application
    Salut,

    Je développe depuis quelques temps le même logiciel, et j'ai déjà fait plusieurs release, que j'ai exportées en joignant les dlls nécessaire à son éxécution. Tout marchait bien.

    J'ai depuis fait une update, en ajoutant des éléments qwt, et en passant à Qt443, et là, un gros mystère :

    Lorsque je compile, en debug comme en release, aucun problème.
    Lorsque j'éxécute, en debug comme en release, à travers VS express 2008, aucun problème.

    Lorsque j'éxécute mon appli en la lançant depuis l'explorateur de fichier, en allant dans mon dossier release, l'appli se lance, et lorsque je tente d'activer un nouveau thread, il me met une erreur de de type pointeur null (voir pj).

    J'ai essayé d'ajouter toutes les dlls possibles, rien à faire. A mon avis, ça provient du changement de version de Qt, et peut être d'une gestion différente de Qt. Pour info, j'étais en Qt 440 avant (version open source pour les 2).

    Si quelqu'un a une idée ... J'achète !

    G.

  2. #2
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Salut,
    Es tu sur de la version de Qt que tu utilise pour compiler?


    essaie de copier les dll de Qt à coté de ton exe
    et les fichiers situés
    C:\Program Files\Microsoft Visual Studio x\VC\redist\x86\Microsoft.VCxx.CRT

    pour voire ce qui se passe.

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Es tu sur de la version de Qt que tu utilise pour compiler?
    J'ai viré l'autre, donc oui !

    essaie de copier les dll de Qt à coté de ton exe
    et les fichiers situés
    C:\Program Files\Microsoft Visual Studio x\VC\redist\x86\Microsoft.VCxx.CRT
    C'est ce que je fais normalement pour exporter, mais encore fois, ça ne marche pas. L'appli se lance, je peux afficher mes widgets, les déplacer, tout va bien. Le programme plante juste quand j'éxécute mon Thread, quand j'appelle le run().

    Pourtant, je n'ai pas touché cette partie là, et le code fonctionne sous VS... Le plus fou, c'est que lorsque je lance la version debug avec l'explorateur de fichier, elle marche...

    Comprends pas ... Toutes les DLLs ont l'air présentes et accessibles ...

    G.

    PS : voici la pièce jointe oublié dans le premier post (message d'erreur)

  4. #4
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    salut, est-ce que tu es sûr d'avoir tout recompilé avec nmake, et de ne pas avoir laissé des dll compilées avec mingw ?
    J'ai fait comme toi, je suis passé de 4.4.0 mingw, vers 4.4.1 Visual studio, puis 4.4.3 visual studio et je n'ai aucun problème, chaque fois j'ai tout recompilé avec Visual.
    D'ailleurs, j'ai tout refait proprement ce matin.
    Donc si ça t'intéresse, je peux te filer les dll qwt5.dll, qwt5d.dll, qwt5_plugin_designer.dll, et d'autres (compilées avec visual, Qt 4.4.3).
    Parfois, on a oublié une variable d'environnement oboslète aussi, donc le mieux, et de mettre l'application dans un dossier avec toutes ses dll nécessaires, histoire d'être sûr que le système n'aille pas chercher des dlls qui ne conviennent pas.

  5. #5
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    Quelques idées plus ou moins pertinente...

    As tu essayer de faire un clean et un rebuilt?
    (ça fait pas de mal)

    As tu vérifié que tu n'as pas un message sur la console?

    T'aurais pas créé des objets dans ta thread en passant this comme parent?
    (Qthread n'appartient à la thread seul ce qui est créé dans le run en fait partie)

    T'utiliserais pas un objet créé hors du run? comme dans le constructeur de ton QThread par exemple
    (idem)

    T'aurais pas un slot dans QThread qui utilise un objet créé dans le run?
    (les slots du QThread sont exécutés dans la thread qui la créé en non dans la thread qui créé pour executer le run)

    Est tu sur que tu protège les accès des données partagées entre thread?
    (mutex, semaphore,...)

    Est tu sur de tes pointeurs?
    (je verais bien un truc ici)

    Utilise tu des widgets dans cette thread?
    (pas bien)

    Passe tu des classes à toi en paramètre dles connet entre les threads?
    (il faut que ces class soit copiable car le slot sera executé dans son thread)

  6. #6
    Membre expérimenté Avatar de MacPro
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    367
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Novembre 2007
    Messages : 367
    Par défaut
    As tu essayé de faire un clean et un rebuild?
    Moi j'irai plus loin, connaissant les déconvenues de l'intégration à Visual :
    Choper tous les *.obj (qui ne sont pas tous supprimés bizarrement) et les supprimer manuellement parce que le clean il nettoie pas grand chose !

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    774
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 774
    Par défaut
    Pour répondre à Kestufou, j'ai jamais utilisé mingw, toujours VS Express, certes plusieurs versions, mais ça fait un moment que j'utilise le 2008, et ça fait plusieurs fois que je change de versions de Qt sous VS Express 2008.
    Donc de ce coté là, je suis rodé., et j'ai quand même vérifié 20 fois (ça fait 3 jours que je bloque dessus).
    Mais merci pour ta proposition.

    Pour repondre à Mongaulois, que je remercie pour ses pistes :
    J'ai respecté la majorité des conseils sauf peut être :
    T'aurais pas un slot dans QThread qui utilise un objet créé dans le run?
    J'ai peut être instancié un tableau que je passe en argument d'un signal. Je vais vérifier. Mais en tout cas il marche, même s'il ne faut pas le faire.
    Passe tu des classes à toi en paramètre dles connet entre les threads?
    Oui, en faisant des qRegisterMetaType. Ca pose un problème ?

    Merci en toutcas, je susi occupé ajd,

    Je verrai plus tard.
    G.

  8. #8
    yan
    yan est déconnecté
    Rédacteur
    Avatar de yan
    Homme Profil pro
    Ingénieur expert
    Inscrit en
    Mars 2004
    Messages
    10 035
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    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 035
    Par défaut
    J'ai respecté la majorité des conseils sauf peut être :
    T'aurais pas un slot dans QThread qui utilise un objet créé dans le run?
    J'ai peut être instancié un tableau que je passe en argument d'un signal. Je vais vérifier. Mais en tout cas il marche, même s'il ne faut pas le faire.
    Ça tombe peut être en marche. C'est pas pareil Tout comme une erreur mémoire peut tomber en marche.
    En debug ou en lançant une version release avec visual peut faire tomber un marche de tel problème, car visual borne l'execution.
    Normalement lancer ton appli avec ctrl+F5 cela est sensé revenir au même que de le lancer de l'explorateur.

    Passe tu des classes à toi en paramètre des connect entre les threads?
    Oui, en faisant des qRegisterMetaType. Ca pose un problème ?
    Si tu n'as pas implémenté le constructeur par recopie(il me semble que c'est celui là) c'est possible.

    Une discutions par rapport à l'exemple de mandelbrot. J'y ai fait un exemple pour comprendre comment et quand sont copier les objet.
    http://www.developpez.net/forums/d48...qt-mandelbrot/

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/09/2012, 18h03
  2. Problème d'exportation d'application
    Par kisama dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 27/06/2012, 23h40
  3. problème avec exportation application flex
    Par Mister Ghazi dans le forum Flex
    Réponses: 1
    Dernier message: 22/03/2010, 10h31
  4. Problème à l'export d'un plugin: "No application id has been found"
    Par manimal31 dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 10/11/2009, 08h39
  5. [ websphere] problème d'export DISPLAY
    Par gogozep001 dans le forum Websphere
    Réponses: 8
    Dernier message: 04/09/2003, 13h31

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