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

MATLAB Discussion :

Gérer la dépendance de fichiers images avec mon application [Compiler]


Sujet :

MATLAB

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut Gérer la dépendance de fichiers images avec mon application
    bonjour,

    j'ai lu dans la rubrique [MATLAB Compiler] Création d'un executable de la faq de matlab ceci
    Enfin pour porter votre executable sur une machine où MATLAB n'est pas installé, il faut installer 3 choses:
    • le Matlab Component Runtime (MCR)
    • le .exe
    • le .ctf
    En fait, j'ai compilé mon programme avec le compilateur Matlab. J'ai simplement entré la commande suivante dans la "fenêtre de commande" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv nomDeMonFichier
    où nomDeMonFichier est le fichier principal, je veux dire par là qu'il est nécessaire de l'exécuter (sous matlab) en premier afin de pouvoir accéder aux autres composants/modules du programme.

    Remarque : je n'ai pas mis "nomDeMonFichier.m"

    J'ai ensuite voulu exécuter le fichier exécutable après l'avoir déplacé dans un autre répertoire (pour voir s'il était vraiment portable vers un ordinateur qui n'a pas matlab). Je n'ai déplacé que le .exe, le .ctf et le répertoire intitulé "nomDeMonFichier_mcr".
    Je lance l'exécutable et là une erreur apparait qui me dit qu'une image n'existe pas. En fait, cette image est lue dans mon programme. C'est une image que je place dans un composant "Axes" à l'ouverture d'une fenêtre.
    J'ai trouvé une solution pour rémédier à ce problème. Elle consiste simplement à déplacer, dans le même répertoire que l'exécutable précédemment créé, les fichiers images concernés.
    Mais je me demandais si il n'y aurait pas une façon plus élégante, par exemple en incluant l'image directement au niveau de la compilation, et ainsi ne pas avoir à la déplacer à chaque fois.

    Merci pour votre réponse.


    Camille

  2. #2
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    Je ne sais pas si c'est plus élégant mais tu as l'option -a qui rajoute des fichiers à ton archive ctf (images, fichiers MAT,...).
    Mais la façon dont tu as fait ne me choque pas vraiment.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv nomDeMonFichier -a nomimage.extImage
    Pas d'extension au nom du fichier Matlab, mais extensions obligatoires pour les fichiers ajoutés après le -a
    Règles du Forum

    Adepte de la maïeutique

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut pour plusieurs images...
    Merci. Mais ça ne marche pas dans le cas de plusieurs images.
    Je tape les codes suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv nomDeMonFichier -a image1.jpg image2.jpg image3.jpg
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv nomDeMonFichier -a image1.jpg -a image2.jpg -a image3.jpg
    mais aucun des deux ne marchent.

    Merci par avance pour votre réponse.

    Camille

  4. #4
    Expert éminent sénior
    Avatar de Caro-Line
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    9 458
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 9 458
    Points : 14 830
    Points
    14 830
    Par défaut
    C'est bizarre...
    J'ai fait le test avec 2 fichiers, avec la 2ème syntaxe (un -a pour chaque fichier) et ça fonctionne.
    Les fichiers doivent apparaître après extraction du ctf dans :
    /nomDeMonFichier_mcr/nomDeMonFichier/

    Peux-tu vérifier ?
    Quand tu dis que cela ne marche pas, quel est le message d'erreur ?
    Attention si tu as mis des chemins relatifs vers tes fichiers puisque là du coup il ne les trouvera effectivement pas...Il faut les charger sans mettre le répertoire.
    Règles du Forum

    Adepte de la maïeutique

  5. #5
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut pour plusieurs images...
    Voici l'erreur qui apparait :

    - dans la fenêtre de commande
    ??? Error executing mcc, return status = -1073741819.
    - dans une fenêtre séparée
    mcc.exe - Erreur d'application
    L'instruction "0x784ad873" emploie l'adresse "0x104b7142". La mémoire ne peut pas être "written".
    D'autre part l'erreur se produit au niveau de la compilation, donc je ne peux pas vérifier si les fichiers apparaissent dans le répertoire nomDeMonFichier_mcr après extraction du .ctf.

    Merci pour ton aide.

    Camille

  6. #6
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    A tout hasard utilises tu la R14Sp3?

    si c'est le cas passe en R2006a ou utilises le workaround ici
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  7. #7
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut pour insérer des images
    Bonjour,

    Oui, j'utilise la R14Sp3. Pourquoi ?

    Merci

    Camille

  8. #8
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    parce que l'erreur que tu as est un bug du ML Compiler spécifique à cette version
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  9. #9
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    J'ai essayé le workaround que tu m'as indiqué, et maintenant, même quand je veux compiler un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv nomDeMonFichier
    la compilation marche, mais l'exécution ne marche pas (je n'arrive pas à lire le message d'erreur qu'il m'affiche car il ne m'en laisse pas le temps : la fenêtre dos se ferme trop rapidement).

    Il n'y a qu'une manipulation (parmi celles présentent sur la page que tu m'as indiquée) que je n'ai pas réussi à effectuer, c'est celle-ci :
    On the target machine (with a previously installed MCR): Place the files for your platform into the $mcrroot/v73/bin/arch directory.
    Je ne trouve nulle part de répertoire semblable.

    Merci d'avance pour ton aide.

    Camille

  10. #10
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    Citation Envoyé par camillechambon

    Il n'y a qu'une manip (parmi celle présente sur la page que tu m'as indiquée) que je n'ai pas réussi à effectuée, c'est celle-ci :



    Je ne trouve nulle part de répertoire semblable.

    Merci d'avance pour ton aide.

    Camille
    cool ça avance!
    t'as installé le MCR sur la machine de test où il n'y a pas MATLAB?
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  11. #11
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    t'as installé le MCR sur la machine de test où il n'y a pas MATLAB
    J'essaie d'abord de faire fonctionner mon programme sur la machine qui a matlab, mais en appelant l'exécutable.

    Comment on fait pour installer le MCR sur une machine ?

  12. #12
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  13. #13
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    L'installation s'est arrêtée automatiquement à cause d'une histoire de serveur. Mais au final, il me dit que le composant runtime a été correctement installé.

    Qu'est ce que je fais ensuite ?
    Je voulais continuer à faire ce qui est dit dans le workaround, mais
    On the target machine (with a previously installed MCR): Place the files for your platform into the $mcrroot/v73/bin/arch directory.
    ne me dit toujours rien. En fait je n'ai nulle part de répertoire semblable à celui-ci.

    Quand j'essaie d'exécuter le programme, il m'affiche :
    I18N Runtime Warning
    Missing ICU datafile detected while processing directory containing lib
    ut.{dll|so|sl|dylib}.
    Hint: Check for a misconfigured environment or installation.
    Qu'est ce que ça veut dire ?

    Merci.

    Camille

  14. #14
    Expert confirmé
    Avatar de tug83
    Homme Profil pro
    MATLAB Geek !
    Inscrit en
    Juin 2006
    Messages
    1 781
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Alpes de Haute Provence (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : MATLAB Geek !
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 781
    Points : 4 039
    Points
    4 039
    Par défaut
    pas de chance décidément!
    t'es sous Linux ? si oui regarde cette solution
    MATLAB 8.2 (R2013b)

    le blog des MATLAB geeks

  15. #15
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut
    non je ne suis pas sous linux. Je suis sous windows 2000.

  16. #16
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 20
    Points : 11
    Points
    11
    Par défaut finalement...
    Finalement j'ai installé la version R2006a et ça marche très bien en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mcc -mv nomDeMonFichier -a image1.jpg -a image2.jpg -a image3.jpg
    Merci à tous pour votre aide.

    Camille

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/03/2011, 14h16
  2. Manipuler des fichiers images avec du .NET
    Par zooffy dans le forum ASP.NET
    Réponses: 20
    Dernier message: 15/10/2009, 11h44
  3. Réponses: 12
    Dernier message: 24/06/2009, 15h11
  4. Une boite de dialogue accès fichiers images avec GDI+
    Par ProgElecT dans le forum Vos contributions VB6
    Réponses: 1
    Dernier message: 08/06/2008, 11h41
  5. JAR compiler les images avec mon projet
    Par hisy dans le forum Général Java
    Réponses: 6
    Dernier message: 12/07/2007, 14h07

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