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 :

Mes ressources ne sont pas chargées en dehors du compilateur


Sujet :

Qt

  1. #1
    Membre averti Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Points : 412
    Points
    412
    Par défaut Mes ressources ne sont pas chargées en dehors du compilateur
    Bonjour,

    J'ai un problème assez étrange.
    J'ai créer un programme utilisant des resources (format .qrc), et tout se passe plutôt bien tant que je lance mon application depuis Visual C++ (en mode debug ou release).
    Par contre si je lance mon programme en cliquant sur l’icône de l'application, alors tout ce qui se trouve dans ma resource n'est pas chargé.
    Je ne comprend pas très bien, pourtant mon fichier qrc est bien "compilé" et devrait donc être inclus dans mon exécutable.

    Est ce que quelqu'un à une idée ?

    Merci
    J'aime pas les épinards... Mais alors pas du tout

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    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 618
    Points : 188 591
    Points
    188 591
    Par défaut


    À tout hasard, ton fichier QRC est bien spécifié dans ton fichier PRO ?

    Quand tu lances ton exécutable à la main (en dehors de VS), c'est bien la version compilée par VC, pas autre chose (produit avec qmake & make dans la console, par exemple) ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    Il y a une dernière possibilité : les modules nécessaires pour charger tel ou tel type de fichier sont manquants. En effet, lorsqu'on lance depuis, disons Qt Creator, la configuration par défaut est choisie pour que le programme soit lancé avec toutes les DLL de Qt à disposition. Par contre, si on lance en double cliquant, le système ne sait pas où chercher (il ne va chercher que dans system32 et le répertoire où l'exécutable est). Bien sûr, il ne faut pas mettre les DLL dans system32, c'est une mauvaise solution.
    J'imagine que vous avez déjà placé les DLL de base (les Qt5Core, Qt5Widgets...), car le programme ne se lancer absolument pas sans. Par contre, pour les "modules" (dossier platforms, dossier imageformat, que l'on peut retrouver dans l'installation de Qt), il n'y a aucun message. En effet, ce sont des DLL optionnelles. Si elles sont là, c'est tant mieux et le programme les charge (au besoin), mais si elles sont absentes, bah, c'est tant pis (mais si il n'y en a jamais besoin, alors ça ne gêne pas du tout).
    Du coup, il y a les dossiers que j'ai sus cité (et peut être d'autre) qu'il faut aussi mettre dans le répertoire de l'exécutable.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre averti Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Points : 412
    Points
    412
    Par défaut
    Bonjour,

    Désolé pour la réponse tardive mais j'était absent :/

    Donc oui j’exécute bien ma version compilée par Visual C++, et non, le QRC n'est pas spécifié dans mon fichier pro vu que c'est une application Visual C++ et que les projets ne sont pas stockés dans des fichiers pro. Mais bon... dans l'absolu, oui le fichier .qrc apparais comme une ressource QT.

    Concernant cette histoire de module, faudrait que je creuse le sujet mais du coup comment savoir quel module n'a pas pu être chargé... y a t'il un moyen d'afficher les DLL(s) manquantes quelque part ?

    Ceci étant, j'ai 2 applications différentes dont une charge correctement les ressources et pas l'autre. Je vais comparer les DLL que j'ai mis à la racine au cas ou... Je vous tiens au courant.

    Merci encore
    J'aime pas les épinards... Mais alors pas du tout

  5. #5
    Membre averti Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Points : 412
    Points
    412
    Par défaut
    Bon... j'ai testé et apparemment mon problème ne viens pas des modules.

    Si vous avez des pistes je suis preneur car là je suis a cours d'idée :/
    J'aime pas les épinards... Mais alors pas du tout

  6. #6
    Membre averti Avatar de Higestromm
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    516
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 516
    Points : 412
    Points
    412
    Par défaut
    OK finalement c'était bien un problème de module.

    Sur ma seconde application j'utilisais des icônes au format SVG.
    Il manquais donc Qt5Svg.dll dans mon chemin d'application.

    Merci pour votre aide en tout cas, ça m'a bien aidé
    J'aime pas les épinards... Mais alors pas du tout

  7. #7
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 859
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 859
    Points : 218 580
    Points
    218 580
    Billets dans le blog
    120
    Par défaut
    Cool
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 26
    Dernier message: 05/02/2007, 16h57
  2. Réponses: 7
    Dernier message: 22/09/2006, 01h28
  3. [Cookies] Mes cookies ne sont pas créés
    Par YavaDeus dans le forum Langage
    Réponses: 3
    Dernier message: 31/01/2006, 09h41
  4. [XSL] Mes entités ne sont pas prises en compte
    Par trent94 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 04/07/2005, 18h49
  5. [JSTL] Mes variables ne sont pas remplacées par leur valeur
    Par thomine dans le forum Taglibs
    Réponses: 9
    Dernier message: 18/03/2005, 10h00

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