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 :

Échec au déploiement : comment charger le plug-in pour des images TIFF ?


Sujet :

Qt

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 69
    Points : 62
    Points
    62
    Par défaut Échec au déploiement : comment charger le plug-in pour des images TIFF ?
    Bonjour,

    J'ai une application Qt qui charge une image tif avec QImage.
    Sur mon poste cela fonctionne (windows vista 32bits, visual studio 2008 pro).
    Si je copie l'application sur un autre poste (quasiment identique), le chargement de l'image echoue. Le reste de l'application fonctionne.

    Si jamais sur mon poste je change modifie le nom du dossier d'installation de Qt, j'obtiens le meme echec (bref il va chopper le plugin dans le repertoire d'installation de qt au lieu du 'dossierApplication').

    L'application est organisee ainsi :

    dossierApplication/
    ------executable.exe
    ------QtCore4.dll
    ------QtGui4.dll
    ------QtWebKit4.dll
    ------imageformats/qtiff4.dll
    ------imageformats/toutes les autres dll de chargement d'image
    ------phonon_backend/ et toutes ses dll
    ------graphicssystems/ et toutes ses dll
    ------designer/ et toutes ses dll
    ------codecs/ et toutes ses dll

    Ma question est : comment je fais pour que Qt utilise les plugins du dossierApplication ?

    Note: j'ai deja teste en copiant toutes les DLL directement a côté de l'executable, cela ne fonctionne pas non plus.

    Cordialement,

    ElPedro

  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
    ce que tu as fait me semble correcte.
    Essaye de copier le répertoire de visual les dll du crt. Je ne sais plus où c'est par contre.

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 874
    Points : 2 890
    Points
    2 890
    Par défaut
    Deux idées:
    1) utilise ProcessExplorer pour savoir exactement où et quels fichiers l'appli ne trouve pas.
    2) vérifie ce que contient le libraryPath de QApplication juste avant le chargement de l'image

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 69
    Points : 62
    Points
    62
    Par défaut
    Merci pour les pistes.
    Au moins j'ai vu que je n'étais pas en train de faire n'importe quoi!

    J'avais déjà testé addLibraryPath(); sans succes.

    J'ai un peu de mal avec ProcessExplorer, mais bon c'est pas trop grave puisque je sais exactement quelle est la dll qui n'est pas trouvee (qttiff4.dll).

    J'ai essayé en dehors de mon projet sur une appli plus simple (10 lignes, juste creation QApplication et ouverture de l'image) et j'ai :
    1/ eu le meme probleme
    2/ puis j'ai ajouté QCoreApplication::addLibraryPath() du repertoire courant
    3/ cela s'est mis à fonctionner.
    4/ j'ai supprime la ligne QCoreApplication::addLibraryPath()
    5/ et là ça continue à marcher (alors que je suis revenu dans la situation /1!).
    Donc je dois souffrir d'hallucinations .

    J'ajoute qu'il prétends que le libraryPath contient uniquement le repertoire courant, ce qui est faux, puisqu'il pioche sans probleme la lib dans le repertoire d'install s'il ne la trouve pas a cote de l'exe...

    J'ai l'impression que mon Qt précompilé n'est pas si propre que je ne le croyais.

    Encore merci pour vos pistes,

    A+

Discussions similaires

  1. Réponses: 12
    Dernier message: 07/02/2010, 10h06
  2. Réponses: 0
    Dernier message: 26/11/2008, 12h20
  3. Réponses: 4
    Dernier message: 07/12/2006, 09h53
  4. Comment supprimer le message d'importation des images
    Par yoda1000 dans le forum Access
    Réponses: 1
    Dernier message: 05/05/2006, 18h29
  5. [C#] Comment coder un String.Join pour des int ?
    Par luimême dans le forum C#
    Réponses: 2
    Dernier message: 12/10/2005, 08h14

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